我有运行 Jquery、Ajax、PHP 和 HTML 表单的站点。它使用两个页面。
页...
示例.php & 进程示例.php
当您单击 example.php 上的编辑按钮时,会在 NyroModal 窗口中弹出一个发布到 Processexample.php 的表单,并允许您编辑使用 Ajax 发布的客户数据。
用户在 Porcessexample.php 上单击保存后,将进行 SQL 更新,并将成功消息发送回模态框(最终用户)。
以下是问题...
- 在 processexample.php 上调用(数据)成功后,我无法关闭 NyroModal 窗口。我尝试在下面的 JQ/Javascript 中设置超时,但发生错误。
setTimeout("$.nyroModal.close()", 4000);
- 如何让 example.php 页面自动显示更新的数据,或者在单击#send 按钮并在模式窗口中显示成功后重新加载页面。
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 代码--> 查看问题所在代码中的粗体文本。
$(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>