我有一個腳本,驗證和提交使用jquery驗證和阿賈克斯在桌面上,但不是在移動。我找不到問題。jquery驗證和阿賈克斯不能在移動工作
他們會爲點擊但未進一步,
其約兩形式,這幾乎是完全一樣的,但一些細微的差別。 這是我的javascript。 `
$(document).ready(function() {
$("#offerteSeperateForm #ck-button.submit").click(function() {
$("#offerteSeperateForm").validate({
ignore: ":hidden",
rules: {
name:{
minlength:2,
required:true
},
telephone:{
required:true,
minlength:10,
maxlength:10
},
email:{
required:true,
email: true
},
personen:{
required:true
},
personen:{
required:true,
number: true
},
day:{
required:true,
number: true,
maxlength:2,
max: 31,
min: 0
},
month:{
required:true,
number: true,
maxlength:2,
max: 12,
min: 0
},
year:{
required:true,
number: true,
min: <?php echo date('Y'); ?>
}
},
submitHandler: function (form) {
$.ajax({
var data = $('form#offerteSeperateForm').serialize();
//this is the php file that processes the data and send mail
url: "<?php bloginfo('template_url'); ?>/processOfferteSeperate.php",
//GET method is used
type: "POST",
//pass the data
data: data,
//Do not cache the page
cache: false,
//success
success: function (html) {
//if process.php returned 1/true (send mail success)
if (html==1) {
alert('succes');
window.location = "<?php echo site_url(); ?>/?p=146";
//if process.php returned 0/false (send mail failed)
} else alert('Sorry, er ging iets mis. Wilt u het nogmaals proberen?');
}
});
return false;
}
});
});
$("#offerteForm #ck-button.submit").click(function() {
$("#offerteForm").validate({
ignore: ":hidden",
rules: {
name:{
minlength:2,
required:true
},
telephone:{
required:true,
minlength:10,
maxlength:10
},
email:{
required:true,
email: true
},
personen:{
required:true
},
personen:{
required:true,
number: true
},
day:{
required:true,
number: true,
maxlength:2,
max: 31,
min: 0
},
month:{
required:true,
number: true,
maxlength:2,
max: 12,
min: 0
},
year:{
required:true,
number: true,
min: <?php echo date('Y'); ?>
}
},
submitHandler: function(form) {
$.ajax({
var data = $('form#offerteForm').serialize();
//this is the php file that processes the data and send mail
url: "<?php bloginfo('template_url'); ?>/processOfferte.php",
//GET method is used
type: "POST",
//pass the data
data: data,
//Do not cache the page
cache: false,
//success
success: function (html) {
alert('succes');
//if process.php returned 1/true (send mail success)
if (html==1) {
window.location = "<?php echo site_url(); ?>/?p=146";
//if process.php returned 0/false (send mail failed)
} else alert('Sorry, er ging iets mis. Wilt u het nogmaals proberen?');
}
});
return false;
}
});
});
});
` 這些表單標籤
<form action="" id="offerteForm" method="post"> <form action="" id="offerteSeperateForm" method="post">
我覺得裏面submithandler 「返回false;」在Ajax完成之前執行。 – Dave 2014-12-05 08:25:17
我添加了返回false作爲我在stackoverflow上閱讀的東西,因爲某人elses解決方案,所以我想我試過,但爲什麼它在桌面上,而不是在移動? – 2014-12-05 08:57:15
通常,您不必在'click'處理程序中放置'$ .validate'調用。它們可以放在頂層,在'$(document).ready(function(){// validate here})中;'。假設你的提交按鈕實際上是''它會做正確的事情。我不確定這會解決你的問題,但它不會傷害!除此之外,您需要製作一個更簡單的示例幷包含所有相關的HTML – Ryley 2014-12-05 16:23:06