gpt4 book ai didi

javascript - Ajax 回调未执行

转载 作者:行者123 更新时间:2023-11-29 21:30:15 25 4
gpt4 key购买 nike

我有一个表单页面,我打算使用 Ajax 提交。我的计划是 1. 使用 Ajax 检查电子邮件是否已经存在 2.检查密码是否匹配 3. 如果是,切换到另一个“屏幕”并 4.使用Ajax提交表单

我很困惑,因为验证函数没有运行。当密码不匹配时,它既不会切换屏幕也不会发出警报。因此,表单也不会提交。我的代码在下面

$('form input:last-child').click(function(e){
e.preventDefault();
var allFields = e.target.parentNode;

function validate () {
if (allFields.elements[3].value !== allFields.elements[4].value) {
return false; // If they don't match, return false
} else {
$('#form-div form').css('left', '-70%');
$('#confirm p').css('margin-left', '-12%'); // else switch screens
}
}
if (validate != false) {
$('#hidden').load("server_script.php"); // `hidden` is a hidden div somewhere on the page
} else
alert ("Passwords do not match");
});

我在想,如果它们不匹配,事件监听器的其余部分将不会运行,因为 false 从那时起终止了函数。因此,我尝试在事件监听器外部创建一个验证函数的实例,并在点击函数内部调用它,但由于依赖变量,它无法解析,所以我不确定该怎么做。

更新附加相关的 HTML。 (奖励:正则表达式模式不匹配 2 个或更多字母)

<div id=form-div>
<form method=POST action="" >
First Name: <br> <input type=text name=first_name pattern="[a-z]{2,}" required /> <br> <br>
Last Name: <br> <input type=text name=last_name pattern="[a-z]{2,}" required /> <br> <br>
Email: <span id=emailReport></span> <br> <input type=email name=email id=email required /> <br> <br>
Password: <br> <input type=password name=password required pattern=".{6,}" title="Password must be six or more characters" /> <br> <br>
Confirm password: <br> <input type=password name=password required /> <br> <br>
<input type=hidden name=sign_up_date />
<input type=submit value='sign up' />
</form>

<div id=confirm> <p>Some text</p> </div>
</div>

</div>

最佳答案

您忘记调用“验证”函数。从您的代码看来,您只是声明了该函数而没有执行他。

关于javascript - Ajax 回调未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652414/

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