在提交时停止自动表单刷新

时间:2014-04-24 10:04:15

标签: javascript html css

我正在尝试使用html javascript和css编写联系方式。我知道客户端验证不是你现在应该使用的,但我想理解它!它不是一个在安全性很重要的站点中实现的联系方式!

我的整个代码:http://jsfiddle.net/t59By/

由于某些原因,我的验证码的随机数字不会显示在小提琴中,但是当我在浏览器中打开它时会显示。

我遇到的问题是点击提交后自动刷新。它出现后我发生了:

    action="MAILTO:example@example.com" method="post" enctype="text/plain"

我的代码...
如果我把它放回刷新的停止位置,但无论表格是否经过验证,都会发送电子邮件...
我已经找到了解决方案,并发现“返回false”和cookie作为选项。我试过了两次,但似乎未能正确地做到这一点。

当用户点击提交按钮时,如何停止自动刷新和丢失字段输入?

感谢您的任何想法!

已解决:我刚刚将输入类型从提交更改为按钮,现在工作正常!感谢您的帮助!我仍然很欣赏可能导致它的原因以及我的cookie尝试(第一小提琴)出了什么问题...谢谢!

4 个答案:

答案 0 :(得分:1)

使用buttonclicked()替换单击功能上的按钮。

<input type="submit" onclick=" return buttonClickd();" value="Submit it!" id="button">

和代码是

var flag;
function buttonClickd(){
    var flag = true;
    dcc (); hi1 (); hi2 (); hi3 (); hi4 (); hi5 (); hi6 (); hi7 (); hi8 (); emic (); pwic(); checkemail(); checkpw(); addNums(); ccb(); callEmail (); error ();
    if(flag)
        return flag;
    else{
        return flag;
        error();
    }
}

place flag = false;当上述功能不符合条件时。例如

var hi1 = function () {

    if ($('#input1').val() === "") {
        $('#input1').addClass('hi');
              flag = false;
        return;
        }
};

Fiddle Update。由于captch,我没有测试你的代码。只需修改与上述条件相关的代码即可。我认为你有能力做那些小事

答案 1 :(得分:1)

这将显示演示 -

http://jsfiddle.net/s68Ur/1/

请注意,您应该在函数'return false'和函数调用中"return s();"。必须有第二次回归。 否则它不会工作。

答案 2 :(得分:0)

唯一可行的方法是使用AJAX验证。在Ajax中,你可以更好地控制表单而不是javascript。特别是您可以实时验证并提交而无需离开页面。

$(document).ready(function(){
$("#formid").submit(function(event) { 
event.preventDefault();
    $.ajax({

        url : 'example@example.com',
        data: {

        },
        success: function(response){
        alert ('Successfully registered');
      }
    })
});
})

你必须包含bootstrap和ajax类来激活上面的代码。如果您不熟悉AJAX Click here for simple tutorial

event.preventDefault();是关键在这里。它会阻止您的页面刷新,而是会遵循下一个ajax命令。

希望这有助于......

答案 3 :(得分:0)

正如一位评论者指出的那样,表单的代码目前在未定义的变量上引发了一些错误。如果页面的javascript中发生错误,这几乎就是您获得“刷新”行为的原因,因为当按下提交按钮时浏览器将无法访问您的验证代码,并随后执行标准回发。< / p>

我建议的第一件事是在本地测试您的代码。如果您还没有这样做,请尝试使用Firefox的Firebug扩展程序,它将提供一个javascript控制台,以帮助您识别表单上的任何错误。一旦排除了任何客户端脚本错误 - 您就可以继续测试验证逻辑。

希望这有帮助