0

我用一个文本和一个复选框编写了简单的表单。接下来我编写了运行 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> 
4

1 回答 1

1

几个问题

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

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

<!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> 
于 2013-07-17T13:17:09.917 回答