Php Jquery Ajax NyroModal页面成功后重新加载

Php Jquery Ajax NyroModal页面成功后重新加载,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我的网站运行Jquery、Ajax、PHP和HTML表单。它用了两页 页面 Example.php和Processexample.php 当您单击example.php上的编辑按钮时,NyroModal窗口中将弹出一个表单,用于发布到Processexample.php,并允许您编辑使用Ajax发布的客户数据 用户单击“在Porcessexample.php上保存”后,将进行SQL更新,并将成功消息发布回模式框(最终用户) 以下是问题 在processexample.php上调用(数据)succ

我的网站运行Jquery、Ajax、PHP和HTML表单。它用了两页

页面

Example.php和Processexample.php

当您单击example.php上的编辑按钮时,NyroModal窗口中将弹出一个表单,用于发布到Processexample.php,并允许您编辑使用Ajax发布的客户数据

用户单击“在Porcessexample.php上保存”后,将进行SQL更新,并将成功消息发布回模式框(最终用户)

以下是问题

  • 在processexample.php上调用(数据)success后,我无法关闭NyroModal窗口。我尝试在下面的JQ/Javascript中设置超时,但出现了错误
  • setTimeout($.nyroModal.close()”,4000)

  • 如何让example.php页面自动显示更新的数据,或者在单击#send按钮并在模式窗口中显示success后重新加载页面
  • processexample.php上的HTML表单代码

    <form id="AjaxForm" name="AjaxForm" action="#" method="post">
    
    <input name="submitform" type="hidden" value="1" 
    
    <button id="send">Save Client</button>
    
    
    请参见代码中出现问题的粗体文本。
    

    $(文档).ready(函数(){
    $(“#AjaxForm”).submit(函数(){return false;});
    $(“#发送”)。在(“单击”上,函数(e){
    var idval=$(“#客户端”).val();
    var calval=$(“#视图”).val();
    var emailval=$(“#客户_电子邮件”).val();
    var nameval=$(“#客户名称”).val();
    var phoneval=$(“#客户_电话”).val();
    var msgval=$(“#客户注释”).val();
    var msglen=msgval.length;
    var mailvalid=validateEmail(emailval);
    如果(mailvalid==true&&msglen>=4){
    //如果两者都有效,我们将尝试发送电子邮件
    //首先,我们隐藏提交btn,这样用户就不会点击两次
    $(“#发送”)。替换为(“发送…”);
    $.ajax({
    键入:“POST”,
    url:'saveclient.php',
    数据:$(“#AjaxForm”).serialize(),
    成功:功能(数据){
    如果(数据==“真”){
    $(“#AjaxForm”).fadeOut(“快速”,函数(){
    $(此)。之前(“成功!您的信息已更新。

    ”; **setTimeout($.nyroModal.close()”,4000)** }); } } }); } }); });
    我自己就能解决这个问题。使用location.reload();成功电话之后

        $(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>