Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > document.getElementById is null. Формы из Ajax


Автор: chiffa 26.1.2012, 16:39
Добрый день. Есть ключевой файл index.php вставляется по клику <a href='void (); send (1);'> TEST</a >в <div id='xxx'> </div> форма типа:

Код

<form action='' method='post' onsubmit='send (2); return false; '>
<input type='text' id='vvv'>

<input type='submit'>

</form>

почему от пи нажатии кнопки, функции send возвращает document.getElementById("vvv") is null

код ajax-файла:

Код

function appendData(data_str, parent_node, mode)
{
    appendData.js_store='';

    data_str =data_str.replace(/<script.*?>((.|[\r\n])*?)<\/script>/ig,appendData.handle);
    //вставляем получившийся текст с метками
    if(parent_node)
      if (mode == 'append') {
        parent_node.innerHTML += data_str;
      } else {
        parent_node.innerHTML = data_str;
      }
    if(!!appendData.js_store)
    try{
       // alert(appendData.js_store) ;
        if(window.execScript) {
            window.execScript(appendData.js_store, "javascript");
        } else {
            eval.call(window, appendData.js_store)
        }
    } catch(e){}; // в целях отладки - блок нужно убрать!!!!
}
appendData.handle=function($0,$1)
{
    appendData.js_store+='\n'+$1; // собираем JS в едину кучу
    return '';
}


function send (x, y, z) {
            var dpar1 = '<? echo time(); ?>';
    if(window.XMLHttpRequest) {
        try { req1 = new XMLHttpRequest(); }
        catch (e){}}
    else if(window.ActiveXObject) {
        try { req1 = new ActiveXObject('Msxml2.XMLHTTP'); }
        catch (e){ req1 = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req1.onreadystatechange = function() {
        if(req1.readyState == 4) {

            ajax_send(req1.responseText, x);



            }


            }



appendData("<img src='img/ajax-loader.gif'>", document.getElementById("xxx"));

if (x==1)
{






var params ='';

    req1.open("POST", 'test.php?x=1', true);
    req1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req1.send(params);

}

if (x==2)
  {

var vvv = document.getElementById("vvv").value;


alert (vvv);


var params = 'vvv=' + vvv;
    req1.open("POST", 'test.php?x=2', true);
    req1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req1.send(params);

  }


}
function ajax_send(x, y) {

appendData(decodeURIComponent(x), document.getElementById("xxx"));

}


Кто сталкивался? Почему не видны поля инпут? Буду признателен за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)