gpt4 book ai didi

javascript - 防止默认并返回 false;如果我添加 if else 语句

转载 作者:行者123 更新时间:2023-12-02 15:55:59 25 4
gpt4 key购买 nike

我有这个js代码

$(document).ready(function(){

$("#frm_registration").submit(function(event){
var submit = false;

termsIsChecked = $("#user_terms_of_service").is(":checked");
uEmail = $("#user_email").val();
uPassword = $("#user_password").val();
uConfirmPassword = $("#user_password_confirmation").val();
uFirstName = $("#user_firstname").val();
uLastName = $("#user_firstname").val();
uContactNumber = $("#user_firstname").val();
uOtherInformation = $("#user_firstname").val();


// if(uPassword.length === 0){
// uPassword.after("<p>Password can't be blank</p>");
// submit = false;
// }

if(submit === false){
event.preventDefault();
}
});
});

如果我取消注释 if block ,如果我更改,表单将提交事件 event.preventDefault();return false;如果 if block 未注释,它仍然无法工作。我的问题是为什么 jquery 会这样响应,如果我添加 if 语句 preventDefaultreturn false; 将不起作用,但如果我删除 if 语句或将其注释掉 >preventDefault 并返回 false;会起作用的。有人能解释一下为什么会这样吗

最佳答案

问题是 uPassword 不是 jQuery 对象,它是一个字符串,因此 String 对象没有名为 after 的方法。这应该会在浏览器控制台中显示类似 Uncaught TypeError: uPassword.after is not a function 的错误。

$("#user_password").after("<p>Password can't be blank</p>");
<小时/>

此外,您还必须使用值 false 初始化 submit,例如

$(document).ready(function () {

$("#frm_registration").submit(function (event) {
var submit = true;

termsIsChecked = $("#user_terms_of_service").is(":checked");
uEmail = $("#user_email").val();
uPassword = $("#user_password").val();
uConfirmPassword = $("#user_password_confirmation").val();
uFirstName = $("#user_firstname").val();
uLastName = $("#user_firstname").val();
uContactNumber = $("#user_firstname").val();
uOtherInformation = $("#user_firstname").val();


if (uPassword.length === 0) {
$("#user_password").after("<p>Password can't be blank</p>");
submit = false;
}

if (submit === false) {
event.preventDefault();
}
});
});

演示:Fiddle

关于javascript - 防止默认并返回 false;如果我添加 if else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553267/

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