Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 若表单中有错误,则提交表单时对话框应保持打开状态_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 若表单中有错误,则提交表单时对话框应保持打开状态

Javascript 若表单中有错误,则提交表单时对话框应保持打开状态,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一个注册对话框,里面有一个登录表单。 我已经在与表单相同的文件中完成了一些基本表单验证,如果存在错误,则在提交表单时,会在字段下方回显相应的消息 但是,当表单被提交时,页面被刷新,对话框关闭,用户必须再次打开它才能看到错误。这不太合适,我想在刷新时保持对话框打开,只有在表单验证中存在错误时。 一定有办法解决这个问题,但我不知道如何实现 以下是我的代码(index.php): //PHP验证 $fornameErr=$nameerr=“”; $forname=$name=“”; 如果($\服务

我有一个注册对话框,里面有一个登录表单。 我已经在与表单相同的文件中完成了一些基本表单验证,如果存在错误,则在提交表单时,会在字段下方回显相应的消息

但是,当表单被提交时,页面被刷新,对话框关闭,用户必须再次打开它才能看到错误。这不太合适,我想在刷新时保持对话框打开,只有在表单验证中存在错误时。

一定有办法解决这个问题,但我不知道如何实现

以下是我的代码(index.php):

//PHP验证
$fornameErr=$nameerr=“”;
$forname=$name=“”;
如果($\服务器[“请求\方法”]=“发布”){
if(空($_POST[“forename”])){
$fornameErr=“缺失”;
}
否则{
$forename=$_POST[“forename”];
}
如果(空($_POST[“姓氏])){
$姓氏err=“缺失”;
}
否则{
$姓氏=$_POST[“姓氏”];
}
}
//链接,通过调用“check\u domain\u input()”函数打开对话框
或
//对话框中的窗体
  • 您可以使用
    onsubmit=“return validateFunction()”
    ,如中所示
  • 您可以让PHP设置一个JavaScript变量,jQueryOnLoad函数读取该变量并对其作出反应
  • 您可以使用AJAX代替表单提交。使用AJAX,您可以简单地使用AJAX调用的error函数对错误的验证作出反应

  • 如果要显示错误,可以在页面加载时调用
    check\u domain\u input
    方法,如下所示:

    <script>
        function check_domain_input()
        {        
            ...
        }
    
    <?php if (!empty($fornameErr) || !empty($surnameErr)) : ?>
        $(function() {
            check_domain_input();
        });
    <?php endif; ?>
    </script>
    
    
    函数检查\域\输入()
    {        
    ...
    }
    $(函数(){
    检查_域_输入();
    });
    
    使用以下内容:
    (可在)+1找到有用的链接谢谢!我在下面的回答中添加了一个更好的链接作为第一个建议。如果你需要关于这三个答案中任何一个的更多信息,只管问。
    <script>
        function check_domain_input()
        {        
            ...
        }
    
    <?php if (!empty($fornameErr) || !empty($surnameErr)) : ?>
        $(function() {
            check_domain_input();
        });
    <?php endif; ?>
    </script>