我目前正在研究一种基本形式。当您点击提交按钮时,它应该首先更改一个字段的值,然后像往常一样提交表单。看起来有点像这样:
<form name="myform" id="myform" action="action.php">
<input type="hidden" name="myinput" value="0" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" onclick="DoSubmit()" />
</form>
这就是我使用 JavaScript 代码取得的进展。它会将“myinput”的值更改为 1,但不会提交表单。
function DoSubmit(){
document.myform.myinput.value = '1';
document.getElementById("myform").submit();
}
最佳答案
你可以改为这样做:
<form name="myform" action="action.php" onsubmit="DoSubmit();">
<input type="hidden" name="myinput" value="0" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" />
</form>
然后将您的 DoSubmit 函数修改为只返回 true,表示“没关系,现在您可以提交表单了”给浏览器:
function DoSubmit(){
document.myform.myinput.value = '1';
return true;
}
我也会对在提交按钮上使用 onclick 事件保持警惕;事件的顺序不是很明显,如果用户提交,例如在文本框中点击返回,您的回调将不会被调用。
关于javascript - 在 JavaScript 中更改输入和提交表单的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912197/