我想使用AJAX来确定表单的值对我来说是否可以接受(这不是表单验证)。AJAX result
将确定是否提交表单。
下面,你会看到,当表单提交并根据返回什么我执行一个AJAX调用(无论是空白这是可以接受的,或者这是不能接受的错误信息),我想return true;
还是return false;
在$("form").submit
。
我怀疑我的麻烦在于AJAX的success:
。请帮助我摆脱result
AJAX呼叫,以便我可以执行类似的操作if (result == "") { return true; } else { return false; }
。
加工:
$("form").submit(function(e) {
e.preventDefault();
var form = this;
var tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false
}).done(function(result) {
if (result == "")
form.submit();
else
alert(result);
}).fail(function() {
alert('ERROR');
});
});
原版的:
$("form").submit(function() {
var tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false,
success: function(result) {
alert(result);
},
error: function(result) {
alert(result); //This works as expected (blank if acceptable and error msg if not acceptable)
}
});
/*
if (result == "")
return true;
else
return false;
*/
return false; //this is here for debugging, just to stop the form submission
});
由于ajax调用是异步的,因此必须阻止表单提交,然后在返回结果时,检查其是否符合条件,并使用本机提交处理程序提交表单,避免preventDefault()
使用jQuery事件处理程序:
$("form").submit(function(e) {
e.preventDefault();
var self = this,
tray = $('select[name=tray_id]').val();
$.ajax({
type: "POST",
url: "modules/reserve-check.php",
data: {tray_id: tray},
cache: false
}).done(function(result) {
if (result == "") self.submit();
}).fail(function() {
alert('error');
});
});
问题内容: 停止提交表单的一种方法是从JavaScript函数返回false。 单击提交按钮后,将调用验证功能。我有一个表单验证案例。如果满足该条件,则调用一个名为 returnToPreviousPage() 的函数 。 我正在使用JavaScript和Dojo Toolkit。 而不是返回上一页,它提交了表单。如何取消提交内容并返回上一页? 问题答案: 您可以使用函数的返回值来防止表单提交 和
问题内容: 当按下发送按钮而字段中没有任何数据时,如何防止页面刷新? 验证设置工作正常,所有字段均变为红色,但随后页面立即刷新。我对JS的知识比较基础。 我特别认为底部的功能是“不良”。 的HTML JS 问题答案: 您可以阻止表单提交 当然,在该函数中,您可以检查是否有空白字段,如果看起来不正确,将停止提交。 没有jQuery:
我使用以下代码使用Ajax提交表单: 此函数检查表单元素中所需的类 然后,我有了这段代码,可以使用上述功能自动检查所有表单中的必填字段: 它适用于发布到另一页的表单。 当使用Ajax提交代码时,当出现错误时,它会显示,但它仍会提交表单。
问题内容: 我只能修改ajax调用中的代码。当我单击名为的表单中的提交时,就会发生ajax调用。 问题答案: 您需要在成功处理程序之前将其停止。因为该函数在您的AJAX调用之后完成执行,所以表单将在进行ajax调用时提交(并且在您的ajax调用结束时为时已晚)。 但是,可以,在函数末尾放置return false。 如果在成功处理程序中确实很重要,则可以同步执行调用。
我正在使用一个表单并提交一个表单,其中包括名字、姓氏、电子邮件、用户名等字段。当ajax返回时,它返回一个错误消息字符串。如何分离该错误消息?我正在使用这个代码
我正在做一个Django项目,其中一个表单不会提交。我发现罪魁祸首是一些JavaScript,它格式化了货币输入(当我移除JS或移除输入时,它提交) 这是我的简化表单--JS来自html5货币/货币输入