Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 5秒后使div消失,验证错误消息_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript 5秒后使div消失,验证错误消息

Javascript 5秒后使div消失,验证错误消息,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我有一个名为“.error”的div,如果提交了一个注册表,并且它有错误,则会出现,否则不会出现。我试图创建一个包含jquery的javascript语句,jquery使用if结构 For example if error div is visible after submit button is clicked remove the error div after several seconds end if statement 任何帮助都将不胜感激 谢谢 编辑:这是我的实际代码,我

我有一个名为“.error”的div,如果提交了一个注册表,并且它有错误,则会出现,否则不会出现。我试图创建一个包含jquery的javascript语句,jquery使用if结构

For example

if error div is visible after submit button is clicked

remove the error div after several seconds

end if statement 
任何帮助都将不胜感激

谢谢

编辑:这是我的实际代码,我已经尝试实现了提供的一些示例,但到目前为止都没有成功

<script>
   $(document).ready(function(){
   var hideError = function () {
   $(".error").hide();
};

$("registration-form").submit(function () {
    setTimeout(hideError, 5000);
});

});
</script>

<?php
   $validation_errors = '';
   $proc_errors = '';
   if (isset($_POST['register'])) { // User submitted registration form
   require_once "formvalidator.php";
   $validator = new FormValidator();
   $validator->addValidation("new-username","req","Please enter a username");
   $validator->addValidation("new-username","minlen=5","Username cannot be less than 5           characters");
   $validator->addValidation("new-username","maxlen=25","Username cannot be more than 25 characters");
   $validator->addValidation("new-username","alpha","Username must not contain spaces, numbers or strange characters");

   $validator->addValidation("new-password","req","Please enter a password");
   $validator->addValidation("new-password","minlen=5","Password must be at least 5 characters!");
   $validator->addValidation("new-password","maxlen=25","Password cannot be more than 25 characters");

   $validator->addValidation("new-password2","eqelmnt=new-password","The confirmation password does not match");
   $validator->addValidation("new-password2","req","Please enter the confirm password field");

   $validator->addValidation("email","email","Please enter a valid e-mail address");
   $validator->addValidation("email","req","Please enter a valid e-mail address");

   $validator->addValidation("forename","req","Please enter your forename");

   $validator->addValidation("surname","req","Please enter your surname");

   $validator->addValidation("securityquestion","dontselect=--Select One--","Please choose a security question");

   $validator->addValidation("securityanswer","req","Please enter a security answer");
   $validator->addValidation("securityanswer","minlen=5","Security answer must be more than 4 characters");

   if($validator->ValidateForm()) {
    //If the validations succeeded, proceed with form processing
    $formproc = new regProcessor();
    $res = $formproc->ProcessForm();
    if($res == "SUCCESS") {
        header("Location: registrationsuccess.php"); /* Redirect browser */
        exit();
    } else {
        $proc_errors = '<div class="error">'.$res.'</div>';
    }
   } else {
    //Validations failed. Display Errors.
    $error_hash = $validator->GetErrors();
    $validation_errors = '';
    foreach($error_hash as $inpname => $inp_err) {
       $validation_errors .= '<div class="error">'.$inp_err.'</div>';
    }
  }
 }
?>  

$(文档).ready(函数(){
var hideError=函数(){
$(“.error”).hide();
};
$(“注册表”)。提交(函数(){
设置超时(hideError,5000);
});
});

使用Javascript的
设置超时
功能,因此:

setTimeout(function() {
      // remove your error div
}, 5000);

使用Javascript的
setTimeout
函数,从而:

setTimeout(function() {
      // remove your error div
}, 5000);

要隐藏div,请创建一个函数,如下面使用的函数

(即使错误div已经隐藏,您也可以安全地调用它)

在表单提交时调用它(使用jQuery
submit
事件处理程序),但延迟5秒后通过调用调用


这意味着,如果用户通过单击“提交”按钮提交表单,以及通过按键盘上的Enter键提交表单,则任何验证消息都将被隐藏。

要隐藏div,请创建一个函数,例如下面使用的函数

(即使错误div已经隐藏,您也可以安全地调用它)

在表单提交时调用它(使用jQuery
submit
事件处理程序),但延迟5秒后通过调用调用

这意味着,如果用户通过单击“提交”按钮提交表单,或者通过按键盘上的Enter键提交表单,则任何验证消息都将被隐藏。

例如:

<div id="message"></div>

<button type="submit" onclick="message();">submit</button>

function message() {

 $('#message').show();
 setTimeout(function() { $('#message').hide(); }, 5000);


}

提交
函数消息(){
$(“#消息”).show();
setTimeout(function(){$('#message').hide();},5000);
}
例如:

<div id="message"></div>

<button type="submit" onclick="message();">submit</button>

function message() {

 $('#message').show();
 setTimeout(function() { $('#message').hide(); }, 5000);


}

提交
函数消息(){
$(“#消息”).show();
setTimeout(function(){$('#message').hide();},5000);
}
如果您已使用
可见性隐藏此消息,则此操作将有效。如果未隐藏此消息,请相应地更改相关部分,如果您需要帮助,请询问


如果您已经使用
可见性隐藏了此消息,那么这将起作用。如果没有,则相应地更改相关部分。如果您需要帮助,请询问是否需要更具jQuery风格的方法,然后扩展jQuery:

定义jQuery扩展函数:

$.fn.delayedHide = function(delay) {
  var that = this;
  window.setTimeout(function () {
    that.hide();
  }, delay || 5000);
  return that;
}
现在假设您有以下HTML:

<div class="msg">MSG1</div>
<div class="msg msg-err">MSG2 (ERR)</div>
<div class="msg">MSG3</div>
<div class="msg msg-err">MSG4 (ERR)</div>

完整示例:

如果您想要一种更为jQuery惯用的方法,那么扩展jQuery:

定义jQuery扩展函数:

$.fn.delayedHide = function(delay) {
  var that = this;
  window.setTimeout(function () {
    that.hide();
  }, delay || 5000);
  return that;
}
现在假设您有以下HTML:

<div class="msg">MSG1</div>
<div class="msg msg-err">MSG2 (ERR)</div>
<div class="msg">MSG3</div>
<div class="msg msg-err">MSG4 (ERR)</div>

完整示例:

为了平稳过渡,您可以在淡入后延迟使用jQuery/函数

$('.error').fadeIn(600, function() {
    $(this).delay(4000).fadeOut(600);
});

为了平稳过渡,可以在淡入后延迟使用jQuery/函数

$('.error').fadeIn(600, function() {
    $(this).delay(4000).fadeOut(600);
});


这不是jQuery function.True。编辑以反映。这不是jQuery function.True。编辑以反映。当然,你可以用删除来代替隐藏(sry,写小提琴时忘记了你的确切需要)^^为完整的示例干杯,非常感谢!提交表单后,php将生成div,这似乎会引起麻烦。那么,只需将此解决方案与
$(“表单”).submit(函数(){/*…*/})结合起来即可其他答案的建议。我在这里发布的只是对其他解决方案的一些惯用改进。当然,你可以用移除代替隐藏(sry,写小提琴时确实忘记了你的确切需要。)为完整的示例干杯,非常感谢!提交表单后,php将生成div,这似乎会引起麻烦。那么,只需将此解决方案与
$(“表单”).submit(函数(){/*…*/})结合起来即可其他答案的建议。我在这里发布的只是对其他解决方案的一些惯用改进。我感谢所有的反馈,我将尝试一下已经说过的话,div是用PHP生成的,它们在HTML上是不存在的。如果div是由PHP生成的(即在服务器上)这难道不意味着当页面最初呈现给浏览器时,它们就存在了吗?看,这也是我的想法,这促使我采用这种方法删除它。php下面四分之三的代码是div的生成位置,它以if($res==“SUCCESS”)开头。{我感谢所有的反馈,我会尝试一下,div是用php生成的,它们在HTML中不存在。如果div是由php生成的(即在服务器上)这难道不意味着它们在页面最初呈现到浏览器时就存在吗?看,我也是这么想的,这也促使我采用这种方法删除它。php下面四分之三的代码就是div的生成位置,它以if($res==“SUCCESS”)开头{我会给它一个冲击波,它看起来和我现在看到的非常相似。我会给它一个冲击波,它看起来和我现在看到的非常相似