我使用Framework7在myapp.js中加载Ajax页面如下:
#mycontent
来自my_submit1页面的表单在<div id="mycontent" >
div:
<form id="form2">
....
<input type="submit" name="submit" id="mysubmit1" value="Submit" />
第二页中的表单提交为
$$(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;
和myapp.js:
public void temp()
{
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("SELECT LEFT(CONVERT(VARCHAR(10),GETDATE(),120),4)+ CAST((DATEPART(ISOWK,GETDATE()) - 2) AS NVARCHAR(2))", con);
con.Open();
string test = (string)cmd.ExecuteScalar();
con.Close();
}
}
});
在提交时加载第二个表单暂时显示警报并且页面正在重定向。此外,变量按照Ajax请求中的指定传递为GET而不是POST 。
第一个表单提交正确更新div。问题仅发生在第二种形式(替换为div中的表格数据)。 我无法察觉原因。传递第二个请求的方式有问题吗?
答案 0 :(得分:1)
在myapp.js中更新:
从
更改$$(document).on('click','#mysubmit1',function(){
要
$$(document).on('click','#mysubmit1',function(e){
e.preventDefault();