我有运行Jquery,Ajax,PHP和HTML表单的站点。它使用两页。
页面...
Example.php& Processexample.php
当您单击example.php上的编辑按钮时,会在NyroModal窗口中弹出一个表单,发布到Processexample.php,并允许您编辑使用Ajax发布的客户数据。
用户单击Porcessexample.php上的保存后,将进行SQL更新,并将成功消息发回模态框(最终用户)。
以下是问题......
setTimeout(“$。nyroModal.close()”,4000);
有关processexample.php的HTML表单代码
<form id="AjaxForm" name="AjaxForm" action="#" method="post">
<input name="submitform" type="hidden" value="1"
<button id="send">Save Client</button>
有关processexample.php的JS代码 - &gt;请参阅问题代码中的粗体文本。
$(document).ready(function() {
$("#AjaxForm").submit(function() { return false; });
$("#send").on("click", function(e){
var idval = $("#client").val();
var calval = $("#view").val();
var emailval = $("#customer_email").val();
var nameval = $("#customer_name").val();
var phoneval = $("#customer_phone").val();
var msgval = $("#customer_note").val();
var msglen = msgval.length;
var mailvalid = validateEmail(emailval);
if(mailvalid == true && msglen >= 4) {
// if both validate we attempt to send the e-mail
// first we hide the submit btn so the user doesnt click twice
$("#send").replaceWith("<em>sending...</em>");
$.ajax({
type: 'POST',
url: 'saveclient.php',
data: $("#AjaxForm").serialize(),
success: function(data) {
if(data == "true") {
$("#AjaxForm").fadeOut("fast", function(){
$(this).before("<p><strong>Success! Your information has been updated.</strong></p>");
**setTimeout("$.nyroModal.close()", 4000);**
});
}
}
});
}
});
});
</script>
答案 0 :(得分:0)
我能够自己解决这个问题。使用location.reload();成功召集之后。