我正在使用 Framework7 在 myapp.js 中加载一个 Ajax 页面,如下所示:
$('#myForm').validate({
rules: {
aiterms: {
required: true
}
},
submitHandler: function(form) {
$$.ajaxSetup({ cache: false });
var myterms;
var mybookingid;
$("#submit").unbind().click(function() {
myterms = $("#myterms").val();
mybookingid = $("#my_booking_id").val();
if ($('#myterms').is(":checked")==false)
{
myApp.alert('You need to accept terms to proceed further!', 'Terms Not Accepted!');
}
else
{
$$.ajax({
type: "POST",
url: "submit1.php",
dataType : 'html',
data: {myterms1: myterms,mybookingid1: mybookingid },
cache: false,
success: function(result){
$("#mycontent" ).empty();
$("#mycontent").html(result);
},//success
error: function(result)
{
myApp.alert('We are unable to process data due to technical reasons!', 'Error');
}
});
}//else
return false;
});
}//submit handler
}); //validate
来自 my_submit1 页面的表单在#mycontent
div 中更新:
<div id="mycontent" >
第二页中的表单提交为
<form id="form2">
....
<input type="submit" name="submit" id="mysubmit1" value="Submit" />
在 myapp.js 中:
$$(document).on('click','#mysubmit1',function(){
var a = $("#a").val();
var b = $("#b").val();
var c = $("input[name='c']:checked").val(); //radio button
.....
if(a == '')
{
myApp.alert('Please select and enter data a!', 'Insufficient Data');
}
else if(b =='')
{
myApp.alert('Please select and enter data b!', 'Insufficient Data');
}
else if ($('.c').is(":checked")==false)
{
myApp.alert('Please select whether c selected or not!', 'Insufficient Data');
}
...
else
{
$$.ajax({
type: "POST",
url: "submit2.php",
dataType : 'html',
data: {a: a,b: b,c: c},
cache: false,
success: function(result){
$("#mycontent" ).empty();
$("#mycontent").html(result);
},//success
error: function(result)
{
myApp.alert('We are unable to process data due to technical reasons!', 'Error');
}
});
}//else
return false;
});
提交警报时加载的第二个表单会立即显示,并且页面正在被重定向。此外,变量作为 GET 传递而不是作为 Ajax 请求中指定的 POST 传递。
第一个表单提交是正确更新 div。问题仅发生在第二个表单中(替换了 div 中的表单数据)。我无法检测到原因。我通过第二个请求的方式有问题吗??
在 myapp.js 中更新:
更改自
$$(document).on('click','#mysubmit1',function(){
至
$$(document).on('click','#mysubmit1',function(e){
e.preventDefault();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句