我在jquerymobile对话框中有一个表单,我通过jQuery Ajax提交。
目前我的问题是,一旦提交了表单,就会在原始对话框的顶部再次打开相同的对话框。
所以我的网址在提交之前阅读:
url/index.php#&ui-state=dialog
然后提交后:
url/index.php#&ui-state=dialog#&ui-state=dialog&ui-state=dialog
有没有人曾经遇到过这样的事情?
[编辑添加代码示例]
$(function(){
$("#form").submit(function(e){
e.preventDefault();
var dataString = $("#form").serialize();
errorInput = $("input[name=valOne]#valOne").val();
$.ajax({
type: "GET",
url: "formHandler.php",
data: dataString,
dataType: "text",
success: function(data){
if(data.toLowerCase().indexOf("error") >= 0){
alert(data);
$(".ui-dialog").dialog("close");
$("#valOne").val(errorInput); //the reentering info so user doesn't have to
}else{
$(".ui-dialog").dialog("close");
location.href="index.php";
}
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
});
答案 0 :(得分:0)
答案 1 :(得分:0)
您是否尝试过使用$ .mobile.changePage(“url here”)而不是location.href? 更多细节http://jquerymobile.com/test/docs/api/methods.html
答案 2 :(得分:0)
用JS刷新页面而不是再次加载它会不会更容易?它可能是两次调用对话框函数。
答案 3 :(得分:0)
我的表格有类似的问题。我决定改用<div data-role="fieldcontain">
。现在它很好,没有“刷新效果”。在这种情况下,您应该使用自己的消息而不是.serialize。