提交后,表单会保留在同一页面上 [英] Form stay on same page after submit

查看:141
本文介绍了提交后,表单会保留在同一页面上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即使在显示警告消息并且返回错误代码显然存在之后,我的页面仍会继续提交。我在这里做错了什么?

 函数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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆