gpt4 book ai didi

jQuery 停止表单提交

转载 作者:行者123 更新时间:2023-12-01 08:23:01 25 4
gpt4 key购买 nike

我刚刚整理了一个漂亮的表单,花了我几个小时,并进行了一些漂亮的 jQuery focusout 验证。 focusout 属性附加到 onload 的输入字段。然后,我通过触发 focusout 事件 onsubmit 来重新使用我的验证函数,但我不知道的是,如果我的任何验证函数失败,如何禁用表单提交。完整示例 here (jsfiddle)

削减示例:

addLoadEvent(AttachVal);

function AttachVal(){

  $('input[name="FirstName"]').focusout(NameTest);
$('input[name="LastName"]').focusout(NameTest);
$('form[name="Register"]').submit(SubmitRegForm);

}

function SubmitRegForm(){

  $('input[name="FirstName"]').trigger('focusout');
$('input[name="LastName"]').trigger('focusout');
alert ("Submitting");

return false;
}

验证函数:

function NameTest(){

var result = true;
var EnteredValue = $(this).val();
var alphaExp = /^[a-zA-Z ]+$/;

if (!(EnteredValue.match(alphaExp)))
{
var result = "Invalid";
}

if (result !== true)
{
$(this).parent().next().children('span.ErrorDescript').text(result);
}
else
{
$(this).parent().next().children('span.ErrorDescript').text("");
}

}

我尝试在 SubmitRegForm 函数中附加一个变量,如下所示:

var FNStat = $('input[name="FirstName"]').trigger('focusout');

目的是检查所有这些并在它们都返回 true 时提交,但这只是返回一个对象。是否可以从该函数获取响应文本?...也许?或者是否有另一种方法可以强制停止当前在我的个人验证函数中运行的提交事件?

一如既往,非常感谢任何建议。

最佳答案

捕获表单提交的正确方法是这样的:

$('#form').submit(function(e){
// Unfocus and validation logic here.
e.preventDefault();
});

e.preventDefault() 将阻止表单提交。

关于jQuery 停止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com