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

时间:2013-07-17 13:14:11

标签: javascript html forms

我用一个文本和一个复选框编写了简单的表单。接下来我编写了运行onsubmit形式的函数。当我使用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> 

1 个答案:

答案 0 :(得分:1)

几个问题

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

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

  3. <!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>