使用Ajax请求在DIV中加载Ajax表单重定向提交 - Framework7

时间:2018-04-12 07:31:35

标签: jquery ajax html-framework-7

我使用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中的表格数据)。 我无法察觉原因。传递第二个请求的方式有问题吗?

1 个答案:

答案 0 :(得分:1)

在myapp.js中更新:

更改
$$(document).on('click','#mysubmit1',function(){

$$(document).on('click','#mysubmit1',function(e){
e.preventDefault();