Javascript JS函数清除我的表单变量值

Javascript JS函数清除我的表单变量值,javascript,html,forms,Javascript,Html,Forms,我用一个文本和一个复选框编写了一个简单的表单。接下来,我编写了在submit表单上运行的函数。当我提交带有onsubmit函数文本和复选框值的表单时(文本只发送变量的名称,但不发送值,复选框不发送任何内容),否则,没有onsubmit函数,一切都很好。为什么?有一个代码: <!DOCTYPE html> <html> <head> <script> function addInput(task) { document.getElementById

我用一个文本和一个复选框编写了一个简单的表单。接下来,我编写了在submit表单上运行的函数。当我提交带有onsubmit函数文本和复选框值的表单时(文本只发送变量的名称,但不发送值,复选框不发送任何内容),否则,没有onsubmit函数,一切都很好。为什么?有一个代码:

<!DOCTYPE html>
<html>
<head>
<script>

function addInput(task) {
document.getElementById('adminForm').innerHTML += "<input type='hidden' value="+task+" name=task/>";
}
</script>
</head>
<body>

<form method="get" id="adminForm" onsubmit="addInput('Save')">
<input type="text" name="example"/>
<input type="checkbox" name="box" value="1"/>
<input type="submit" name="tas" value="Send"/>
</form>

</body>
</html> 

功能附加输入(任务){
document.getElementById('adminForm')。innerHTML+=“”;
}
几个问题

  • 您需要返回false来停止提交-您只是看到您的页面正在重新加载-或者显示服务器的结果以查看它是否已提交

  • 您需要更新div,而不是表单:

  • 
    功能附加输入(任务){
    document.getElementById('adminForm')。innerHTML+=“”;
    window.console&&console.log(任务+“已添加”);
    return false;//如果希望提交表单,请删除此选项
    }
    
    Thx很多,更新div而不是表单工作。我花了6个小时试图解决这个问题/
    <!DOCTYPE html>
    <html>
    <head>
    <script>
    
    function addInput(task) {
      document.getElementById('adminForm').innerHTML += "<input type='hidden' value="+task+" name=task/>";
      window.console && console.log(task+" added");
      return false; // remove this if you want the form to be submitted
    }
    </script>
    </head>
    <body>
    
    <form method="get" onsubmit="addInput('Save')">
      <div id="adminForm"> 
        <input type="text" name="example"/>
        <input type="checkbox" name="box" value="1"/>
        <input type="submit" name="tas" value="Send"/>
      </div>
    </form>
    
    </body>
    </html>