我使用以下代码使用Ajax提交表单:
$(document).ready(function(){
$("#SubmitTicket").submit(function(e){
CheckRequired();
e.preventDefault();
dataString=$("#SubmitTicket").serialize();
$.ajax({
type: "POST",
url: "?SubmitTicket=1",
cache: false,
data: dataString,
success: function(res) {
if(res.indexOf("success")!=-1) {
//window.location.href = res.substr(8);
$("#CreateNewTicket_Body").html(res);
$("#CreateTicket").hide();
}
}
});
});
});
此函数检查表单元素中所需的类
function CheckRequired(event) {
var $form = $(this);
var emptyElements = $form.find('.required').filter(function() {
return this.value === ''
});
if(emptyElements.length > 0) {
event.preventDefault();
emptyElements.addClass("EmptySelect").attr('title', 'This field is required');
//alert(emptyElements.attr("id"));
alert("One or more fields cannot be blank");
return false;
}
}
然后,我有了这段代码,可以使用上述功能自动检查所有表单中的必填字段:
$(document).ready(function () {
$('form').on('submit', CheckRequired);
});
它适用于发布到另一页的表单。
当使用Ajax提交代码时,当出现错误时,它会显示警报
,但它仍会提交表单。
如果“CheckRequired()”返回false,则需要通过返回false来停止脚本。
$(document).ready(function(){
$("#SubmitTicket").submit(function(e){
e.preventDefault();
if (!CheckRequired(e)) {
return false;
}
dataString=$("#SubmitTicket").serialize();
$.ajax({
type: "POST",
url: "?SubmitTicket=1",
cache: false,
data: dataString,
success: function(res) {
if(res.indexOf("success")!=-1) {
//window.location.href = res.substr(8);
$("#CreateNewTicket_Body").html(res);
$("#CreateTicket").hide();
}
}
});
});
});
您只需在表单中添加onSubmit=“return CheckRequired()”。
您可能希望将Check必需的返回封装到if()结构中:
$(document).ready(function(){
$("#SubmitTicket").submit(function(e){
if(CheckRequired.call(this,e)) { // this should refer to the event target element, i.e. the form element, providing context for the function
e.preventDefault();
dataString=$("#SubmitTicket").serialize();
$.ajax({
type: "POST",
url: "?SubmitTicket=1",
cache: false,
data: dataString,
success: function(res) {
if(res.indexOf("success")!=-1) {
//window.location.href = res.substr(8);
$("#CreateNewTicket_Body").html(res);
$("#CreateTicket").hide();
}
}
}
});
});
});
问题内容: 我正在编写一些javascript(lubricmonkey /用户脚本),它将一些输入字段插入网站上的表单中。 问题是,我不希望这些输入字段以任何方式影响表单,我不希望它们在提交表单时提交,我只希望我的JavaScript可以访问它们的值。 有什么办法可以将一些输入字段添加到表单的中间,而在提交表单时不提交它们呢? 显然,理想的情况是输入字段不在form元素中,但是我希望结果页面的布
问题内容: 我想使用AJAX来确定表单的值对我来说是否可以接受(这不是表单验证)。AJAX 将确定是否提交表单。 下面,你会看到,当表单提交并根据返回什么我执行一个AJAX调用(无论是空白这是可以接受的,或者这是不能接受的错误信息),我想还是在。 我怀疑我的麻烦在于AJAX的。请帮助我摆脱AJAX呼叫,以便我可以执行类似的操作。 加工: 原版的: 问题答案: 由于ajax调用是异步的,因此必须阻止
问题内容: 此代码正确吗?我正在尝试提交,如果文本区域再次为空,我也想提交。 我正在尝试上传: 谢谢… 问题答案: 用 代替 如果您使用的是最新版本的jquery。
问题内容: 我有一个带有名称和未定义输入数量的表单。 我想做某种jQuery.get或ajax或类似的事情,它将通过Ajax调用页面,并发送表单的所有输入。 我想一种方法是做类似的事情 但是我不完全知道所有的表格输入。是否有仅发送所有表单输入的功能部件或功能? 问题答案: 您可以使用Ajax表单插件中的ajaxForm / ajaxSubmit函数或jQuery序列化函数。 AjaxForm :
问题内容: 我只能修改ajax调用中的代码。当我单击名为的表单中的提交时,就会发生ajax调用。 问题答案: 您需要在成功处理程序之前将其停止。因为该函数在您的AJAX调用之后完成执行,所以表单将在进行ajax调用时提交(并且在您的ajax调用结束时为时已晚)。 但是,可以,在函数末尾放置return false。 如果在成功处理程序中确实很重要,则可以同步执行调用。
我正在使用jquery submit()函数提交表单,但它多次提交。我用尽了我所知道的一切,但无法阻止它。下面是我的功能: 下面是我的表格: 但有时如果用户多次点击按钮的速度太快,则点击多次工作。不是每次。有人知道吗?