用var newDiv =  "<div id=divUpload" + count +">"
            + " <input id=file" + count + " type='file'  style='width:330px;' name='upfile[]'>"
            + " <a href=javascript:delfile('divUpload" + count + "'); style='font-size:14px;' >删除</a>"
            + " </div>";  
document.getElementById("addpoint").insertAdjacentHTML("beforeEnd", newDiv);  动态地增加了一些表单元素但是在提交表单的时候又加了一个判断的函数check()触发了check()之后,原先动态增加的表单元素不见了

解决方案 »

  1.   

    就是 动态 增加的 div 元素不见了
      

  2.   

    <script type="text/javascript">
    /* 增加上传文件表单 */
    var count = 0 ;   /* count的定义要放在函数的外面,这样就成为全局的变量,在删除div的时候才能扣减count的值 */
    var maxfile = 5;function addfile() 
    {
    if(count >= maxfile)
    {
    alert("最多只能额外增加 5 个文件表单");
    return false;

    else 
    {
    count++; 
            var newDiv =  "<div id=divUpload" + count +">"
                + " <input id=file" + count + " type='file'  style='width:330px;' name='upfile[]'>"
                + " <a href=javascript:delfile('divUpload" + count + "'); style='font-size:14px;' >删除</a>"
                + " </div>";   
            document.getElementById("addpoint").insertAdjacentHTML("beforeEnd", newDiv); 
    }   
    }
    /* 删除上传文件表单 */
    function delfile(diva) 
    {
    count--; 
    document.getElementById(diva).parentNode.removeChild(document.getElementById(diva)); 
    }
    /*判断是否有选择上传的文件*/
    function checkchoice()
    {
    var oEvent = document.getElementById("totalfile");
    var choice = oEvent.getElementsByTagName("INPUT");
    alert(choice.length);
    return false; 
    }
    </script><body>
    <div  style="font-size:14px;" ><input type="button" value="增加文件" onclick="addfile()" >
    </div><br />
    <br />
    <form action="lotadd.php?action=save" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <label id = "totalfile">
    <input type="file" name="upfile[]" id="divUpload0" style="width:330px;"  />
    <div id="aa"></div>
    <div id="addpoint"></div>
    <br />
    </label>
    <br />
    <br />
    <input type="submit" value="提交" onclick="checkchoice()" >
    </form></body>
    </html>
      

  3.   

    好像是我 SB 了submit 提交之后,应该就是要重新加载页面了?
      

  4.   

    submit按钮的onclick事件中返回false值并不能阻止表单的提交,正确的做法是在触发表单onsubmit事件时执行checkchoice函数:
    <form action="lotadd.php?action=save" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return checkchoice();">