Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AppendChild在Ajax请求中不工作_Javascript_Ajax_Innerhtml_Appendchild - Fatal编程技术网

Javascript AppendChild在Ajax请求中不工作

Javascript AppendChild在Ajax请求中不工作,javascript,ajax,innerhtml,appendchild,Javascript,Ajax,Innerhtml,Appendchild,我有一个脚本,可以在当前字段被按下时添加一个输入字段元素。当我使用innerHTML时,它会替换当前的,这不是我想要的。所以我认为appendChild应该添加而不是替换,但它不起作用。这是我的剧本 <script type="text/javascript"> function addfile() { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=ne

我有一个脚本,可以在当前字段被按下时添加一个输入字段元素。当我使用innerHTML时,它会替换当前的,这不是我想要的。所以我认为appendChild应该添加而不是替换,但它不起作用。这是我的剧本

<script type="text/javascript">
function addfile()
{
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("org_div1").appendChild = xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","addfile.php");
xmlhttp.send();
}
</script>

函数addfile()
{
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“org_div1”).appendChild=xmlhttp.responseText;
}
}
open(“GET”,“addfile.php”);
xmlhttp.send();
}
还有我的html内容

<div id="org_div1" class="file_wrapper_input">

                        <input type="hidden" value="1" id="theValue" />
<input type="file" class="fileupload" name="file1" size=
"80" onchange="addfile()" /></div>

还有我的addfile.php文件

    var i=0;
        var ni = document.getElementById('org_div1');
        var numi = document.getElementById('theValue');
        var num = (document.getElementById('theValue').value -1)+ 2;
        numi.value = num;
        var divIdName = num;
</script>
<input type="file"  class="fileupload" size="80" name="file' + (num) + '" onchange="addfile()" />;
var i=0;
var ni=document.getElementById('org_div1');
var numi=document.getElementById('theValue');
var num=(document.getElementById('theValue')。value-1)+2;
numi.value=num;
var divIdName=num;
;
有什么意见吗?同样,innerHTML可以工作,appendChild不能。谢谢。

parent.appendChild()是一个等待DomNode对象的函数,您正在传递字符串,它无法工作

尝试:

appendChild()是一个等待DomNode对象的函数,您正在传递字符串,它无法工作

尝试:


AppendChild需要一个对象,其中innerHTML使用字符串。由于您的服务器返回部分HTML,这将只适用于innerHTML

AppendChild需要一个对象,其中innerHTML使用字符串。由于您的服务器返回部分HTML,这将只适用于innerHTML

尝试了它,这里是我得到的错误
error:uncaught exception:[exception…”无法转换JavaScript参数arg 0[nsidomhtmldevelment.appendChild]“nsresult:“0x80570009(NS_error\u XPC\u BAD\u convert\u JS)”位置:“JS frame::http://192.168.1.42/~jak2234/new_form/::第55行“数据:否”
尝试过,这里是我得到的错误
error:uncaught exception:[exception…”无法转换JavaScript参数arg 0[nsidomhtmldevelment.appendChild]“nsresult:“0x80570009(NS_error\u XPC\u BAD\u convert\u JS)”位置:“JS frame::http://192.168.1.42/~jak2234/new_form/::第55行“数据:否”
@DariuszR噢,我明白了。服务器是否可以将addfile.php从字符串转换为对象?但它会删除Parents中的所有现有html。您需要一个JavaScript对象,只能在浏览器(而不是服务器)中构建它。因此,您可以将html转换为JSON,但仍然需要在客户端站点上创建DIV、INPUT和其他对象。是的-它将取代现有的html…@DariuszR@ChristophetCVB我创建了一个后续问题@DariuszR哦,我明白了。服务器是否可以将addfile.php从字符串转换为对象?但它会删除Parents中的所有现有html。您需要一个JavaScript对象,只能在浏览器(而不是服务器)中构建它。因此,您可以将html转换为JSON,但仍然需要在客户端站点上创建DIV、INPUT和其他对象。是的-它将取代现有的html…@DariuszR@ChristophetCVB我创建了一个后续问题。。
var d = document.createElement('div');
d.innerHtml = xmlhttp.responseText;
document.getElementById("org_div1").appendChild(d);