提交后,表单会保留在同一页面上 [英] Form stay on same page after submit
本文介绍了提交后,表单会保留在同一页面上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
函数validateForm(){
var selected =;
var radios = document.getElementsByName(special);
var len = document.getElementsByName(special)。length;
var i;
$ b $ for(i = 0; i< len; i ++){
if(radios [i] .checked){
selected = radios [i] .value;
休息;
}
if(selected ==){
alert(必须选择选项。);
返回false;
}
else {
return true;
< p>您想特别优惠发送给您的电子邮件吗?< / p>
< input type =radioname =specialvalue =Yes/>是
< input type =radioname =specialvalue =No/>否LT峰; br />
< input type =submit/>
< input type =reset/>
< / form>
解决方案
您必须像这样说
onsubmit =return validateForm();
而不是
的onsubmit = validateForm();
更新的演示版本
这是因为您正在检查中选定的
的值c $ c> for 循环,所以第一次它的值是第二次变成
否
。
My page keeps submitting even after it shows the alert message and the return false code is clearly present. What am I doing wrong here?
function validateForm () {
var selected = "";
var radios = document.getElementsByName("special");
var len = document.getElementsByName("special").length;
var i;
for (i = 0; i < len; i++) {
if(radios[i].checked) {
selected = radios[i].value;
break;
}
if(selected == "") {
alert("Must select option.");
return false;
}
else {
return true;
}
}
}
<form action="FormProcessor.html" method="post" onreset="blank();" onsubmit="validateForm();" name="myForm">
<p>Would you like special offers sent to you e-mail?</p>
<input type="radio" name="special" value="Yes"/>Yes
<input type="radio" name="special" value="No"/>No<br/>
<input type="submit"/>
<input type="reset"/>
</form>
解决方案
You have to just say like this
onsubmit="return validateForm();"
instead of
onsubmit="validateForm();"
updated demo
That was because you were checking the value of selected
in for
loop, so for first time it's value is ""
second time it's become No
.
这篇关于提交后,表单会保留在同一页面上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文