2014-01-14 2 views
0

Я использовал онлайн-учебник о том, как использовать ajax для создания нового элемента, зависящего от ввода пользователей. На данный момент все, что он сделает, это заменить уже сделанный div's innerhtml, но я хотел бы создать новый div и заполнить его с помощью ввода, назначенного пользователем. Вот мой текущий код:AJAX как создать новый элемент?

AJAX:

<script> 
    function showType(str) 
    { 
    if (str=="") 
     { 
     document.getElementById("Answer").innerHTML=""; 
     return; 
     } 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 

     } 
     } 
    xmlhttp.open("GET","/ASPScripts/QuestionDesign.asp?q="+str,true); 
    xmlhttp.send(); 
    } 
    </script> 

ASP

<% 
response.expires=-1 
dim q 
q=request.querystring("q") 

response.write("<input type='" & q & "'/>") 
%> 

Любые идеи о том, как это сделать? Я знаю его, вероятно, очень простой ответ, я просто новичок в этом материале

ответ

0

в основном, то, что вы спрашиваете, как добавить новый элемент в DOM:

var newDiv = document.createElement("div"); 

newDiv.innherHtml = xmlhttp.responseText; 

document.getElementById("newDivParent").appendChild(newDiv); 

EDIT: вы можете вставить этот код в консоли (f12 in chrome) прямо здесь, на этой странице, чтобы увидеть, как это работает:

var newDiv = document.createElement("div"); 

newDiv.setAttribute('style', 'position:fixed; top:0; left:0; right:0; bottom:0; z- index:10000000;  background-color:red;') 

document.body.appendChild(newDiv); 
+0

Спасибо за ваш отзыв, однако он, похоже, не работает. Я пытаюсь добавить его в div в таблице, и все же ничего не происходит после выбора пользователя. – howdybaby

+0

можете ли вы разместить свой код в jsfiddle? вы пробовали код, который я вам дал, вне вызова ajax, просто тест? попробуйте просто добавить новый элемент в dom как начало. http://stackoverflow.com/questions/2962137/adding-new-elements-into-dom-using-javascript-appendchild – CodeToad

+0

см. редактирование. Я добавил рабочий пример, который вы можете запустить в консоли – CodeToad

Смежные вопросы