如何使用JQuery验证添加停止多表单提交
我想停止禁用提交按钮,一旦验证完成,表单提交,所以我不会有多个插入到数据库。我并没有用完整的表单验证更新帖子,因为你们大多数人都说这是错误的,但我不这么认为 以下是提交文件:如何使用JQuery验证添加停止多表单提交,jquery,forms,jquery-validate,Jquery,Forms,Jquery Validate,我想停止禁用提交按钮,一旦验证完成,表单提交,所以我不会有多个插入到数据库。我并没有用完整的表单验证更新帖子,因为你们大多数人都说这是错误的,但我不这么认为 以下是提交文件: <input class="button2" style="border-right:none; font-size:13px;" name="List Item" id="submit" type="submit" value="List Item" /> 以下是jQuery验证: <scr
<input class="button2" style="border-right:none; font-size:13px;" name="List Item" id="submit" type="submit" value="List Item" />
以下是jQuery验证:
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
<script>
$( "#UploadForm" ).validate({
errorLabelContainer: "#messageBox",
wrapper: "td",
rules: {
<?php if ($type == 'Aution' || $type == 'Both') { ?>
auction_price: {
required: true,
number: true,
min: 1.00
},
auction_reserve_price: {
number: true,
range: [1.00, 500000.00]
},
<?php } ?>
<?php if ($type == 'BuyItNow' || $type == 'Both') { ?>
auction_bin_price: {
required: true,
number: true,
range: [1.00, 500000.00]
}, <?php } ?>
Country: {
required: true
},
select3: {
required: true
},
select2: {
required: true
},
auction_postage_type: {
required: true
},
auction_postage_type_price: {
number: true,
range: [0.00, 500000.00]
},
auction_int_postage_type_price: {
number: true,
range: [1.00, 500000.00]
},
Europe1: {
number: true,
range: [1.00, 500000.00]
},
Russia1: {
number: true,
range: [1.00, 500000.00]
},
NorthAmerica1: {
number: true,
range: [1.00, 500000.00]
},
Australia1: {
number: true,
range: [1.00, 500000.00]
},
SouthAmerica1: {
number: true,
range: [1.00, 500000.00]
},
Africa1: {
number: true,
range: [1.00, 500000.00]
},
Asia1: {
number: true,
range: [1.00, 500000.00]
},
MiddleEast1: {
number: true,
range: [1.00, 500000.00]
},
<?php if ($type == 'BuyItNow') { ?>
auction_item_quantity: {
required: true,
digits: true,
range: [1, 99]
},
<?php } ?>
auction_description: {
required: true
},
auction_int_postage_type: {
required: true
},
listing_type: {
required: true
}
},
messages: {
auction_price: "Please Enter Auction Start Price - In Decimal Format, minimum value 1.00",
auction_reserve_price: "Please Enter Auction Reserve Price - In Decimal Format 0.00",
auction_bin_price: "Please Enter Buy It Now Price - In Decimal Format, minimum value 1.00",
select3: "Please Select Main Category",
select2: "Please Select Sub Category",
auction_item_quantity: "Please Enter Quentity - min 1 - max 99",
auction_description: "Please Enter Auction Description - Min 10, Max 1000 characters",
listing_type: "Please Select Listing Type",
auction_postage_type: "Please Select Postage Type",
auction_int_postage_type_price: "Please Enter International Postage Cost In Decimal Format, minimum value 1.00",
auction_postage_type_price: "Please Enter Postage Cost In Decimal Format",
auction_int_postage_type: "Please Select",
Country: "Please Select Country",
},
submitHandler:function(form){
$('#submit').attr('disable',true).css('pointer-events','none');
}
});
</script>
$(“#上传表单”).validate({
errorLabelContainer:#messageBox“,
包装:“td”,
规则:{
拍卖价格:{
要求:正确,
数字:对,
最低:1.00
},
拍卖(底价):{
数字:对,
范围:[1.00,500000.00]
},
拍卖价格:{
要求:正确,
数字:对,
范围:[1.00,500000.00]
},
国家:{
必填项:true
},
选择3:{
必填项:true
},
选择2:{
必填项:true
},
拍卖\邮资\类型:{
必填项:true
},
拍卖\邮资\类型\价格:{
数字:对,
范围:[0.00,500000.00]
},
拍卖\国际\邮资\类型\价格:{
数字:对,
范围:[1.00,500000.00]
},
欧洲1:{
数字:对,
范围:[1.00,500000.00]
},
俄罗斯1:{
数字:对,
范围:[1.00,500000.00]
},
北美1:{
数字:对,
范围:[1.00,500000.00]
},
澳大利亚1:{
数字:对,
范围:[1.00,500000.00]
},
南美洲1:{
数字:对,
范围:[1.00,500000.00]
},
非洲1:{
数字:对,
范围:[1.00,500000.00]
},
亚洲1:{
数字:对,
范围:[1.00,500000.00]
},
中东1:{
数字:对,
范围:[1.00,500000.00]
},
拍卖项目数量:{
要求:正确,
数字:对,
范围:[1,99]
},
拍卖详情:{
必填项:true
},
拍卖\国际\邮资\类型:{
必填项:true
},
列表类型:{
必填项:true
}
},
信息:{
拍卖价格:“请输入拍卖开始价格-十进制格式,最小值1.00”,
拍卖底价:“请输入拍卖底价-十进制格式0.00”,
拍卖价格:“请输入立即购买价格-十进制格式,最小值1.00”,
选择3:“请选择主类别”,
选择2:“请选择子类别”,
拍卖项目数量:“请输入Quentity-最小1-最大99”,
拍卖描述:“请输入拍卖描述-最少10个,最多1000个字符”,
清单类型:“请选择清单类型”,
拍卖\邮资\类型:“请选择邮资类型”,
拍卖\国际\邮资\类型\价格:“请以十进制格式输入国际邮资成本,最小值1.00”,
拍卖\邮资\类型\价格:“请以十进制格式输入邮资成本”,
拍卖\国际\邮资\类型:“请选择”,
国家:“请选择国家”,
},
submitHandler:函数(表单){
$('#submit').attr('disable',true.).css('pointer-events','none');
}
});
我认为这样的方法应该行得通
$( "#UploadForm" ).submit(function(){
//some other code here
$('#submit').attr('disable',true).css('pointer-events','none');
});
有一个属性“disable”通常会阻止按钮可用。指针事件是一个较新的css变量,可以执行与event.preventDefault()相同的操作
但违约也总是存在的:
$( "#UploadForm" ).submit(function(){
//some other code here
$('#submit').click(function(event){
event.preventDefault();
});
});
你在使用ajax吗?如果是这样,您可能希望在ajax发送回调后删除disable属性并将指针事件更改为auto
为了澄清这一点,我在这里给出的示例是仅按照问题要求执行并禁用提交按钮。没有更少,没有更多。它可以在不添加任何特殊内容的情况下进行并行验证。我认为类似的方法应该可以工作
$( "#UploadForm" ).submit(function(){
//some other code here
$('#submit').attr('disable',true).css('pointer-events','none');
});
有一个属性“disable”通常会阻止按钮可用。指针事件是一个较新的css变量,可以执行与event.preventDefault()相同的操作
但违约也总是存在的:
$( "#UploadForm" ).submit(function(){
//some other code here
$('#submit').click(function(event){
event.preventDefault();
});
});
你在使用ajax吗?如果是这样,您可能希望在ajax发送回调后删除disable属性并将指针事件更改为auto
为了澄清这一点,我在这里给出的示例是仅按照问题要求执行并禁用提交按钮。没有更少,没有更多。它可以与side validate一起工作,而无需添加任何特殊内容。最简单的方法应该适用于任何地方,显然您可以运行代码并在必要时重新启用它:
$(document).ready(function(){
$("#submitBtn").on("click",function(){
$(this).attr("disabled","disabled");
});
});
最简单的方法应该适用于任何地方,显然您应该运行代码并在必要时重新启用它:
$(document).ready(function(){
$("#submitBtn").on("click",function(){
$(this).attr("disabled","disabled");
});
});
在您的
提交程序中
禁用提交按钮:
$("#UploadForm").validate({
//all your options here
submitHandler:function(form){
$('#submit').attr('disabled','disabled');
}
});
submitHandler
仅在表单已成功验证时调用。只要返回true,表单将在之后正常提交。如果您想变得更花哨,而不是禁用submit按钮,那么可以使用一个全局变量来记住表单是否已提交,然后在第一次提交后从该函数返回false
第一次提交后禁用提交按钮的工作示例:
submitHandler中的禁用提交按钮:
$("#UploadForm").validate({
//all your options here
submitHandler:function(form){
$('#submit').attr('disabled','disabled');
}
});
submitHandler
仅在表单已成功验证时调用。只要返回true,表单将在之后正常提交。如果您想变得更花哨,而不是禁用submit按钮,那么可以使用一个全局变量来记住表单是否已提交,然后在第一次提交后从该函数返回false
第一次提交后,submit按钮被禁用的工作示例:我遇到了相同的问题,我提供了一个简单的解决方案。
从javascript中,每次单击submit时,我都会在cookie中发送一个标志,然后在服务器端检查cookie,如果cookie