Pap*_*ppa 43 html javascript forms onclick submit
我目前正在制作基本表格.我想用这个表单做的是当你点击提交/按钮来首先改变一个字段的值然后像往常一样提交表单.这看起来有点像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
这就是我带来JavaScript的程度.它将"myinput"的值更改为1,但不提交表单.我真的是一个JavaScript noobie,请原谅我,如果这只是一个太简单的问题,但我真的没有得到它的支持.
function DoSubmit(){
document.myform.myinput.value = '1';
document.getElementById("myform").submit();
}
Run Code Online (Sandbox Code Playgroud)
val*_*man 58
你可以这样做:
<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>
Run Code Online (Sandbox Code Playgroud)
然后修改您的DoSubmit函数以返回true,表示"它没关系,现在您可以将表单"提交给浏览器:
function DoSubmit(){
document.myform.myinput.value = '1';
return true;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我也担心在提交按钮上使用onclick事件; 事件的顺序并不是很明显,如果用户提交,例如在文本框中点击返回,则不会调用您的回调.
document.getElementById("myform").submit();
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为您的表单标签没有ID.
像这样改变它应该工作:
<form name="myform" id="myform" action="action.php">
Run Code Online (Sandbox Code Playgroud)
不.当您的输入类型是提交时,您应该onsubmit在标记中声明一个事件,然后进行所需的更改.意思是,onsubmit在表单标签中定义.
否则,将输入类型更改为按钮,然后onclick为该按钮定义事件.
小智 5
这里是简单的代码,你必须为你输入一个id输入这里称之为'myInput':
var myform = document.getElementById('myform');
myform.onsubmit = function(){
document.getElementById('myInput').value = '1';
myform.submit();
};
Run Code Online (Sandbox Code Playgroud)