n秒后自动关闭引导警报

时间:2016-01-08 11:09:35

标签: javascript php jquery html twitter-bootstrap

我正在使用Bootstrap Framework创建一个新站点,并且在n秒后尝试自动关闭引导带警报时出现问题。

主页面包含模态登录表单。一旦用户尝试登录,提供输入的详细信息不正确,我会在主页面上显示包含错误的警报(密码错误,用户名未知等)。

所以警报显示正常,但我无法自动关闭它,如果有人能够提供帮助,请在下方编码,谢谢。

PHP(返回错误并显示警告)

- (BOOL) textFieldShouldReturn:(UITextField *)textField{

      if(textField == self.txtUserName){
        [self.txtEmail becomeFirstResponder];
      }
      else if (textField == self.txtEmail){
        [self.txtPassword becomeFirstResponder];
      }
      else if (textField == self.txtPassword){
        [self.txtConfirmPassword becomeFirstResponder];
      }
      else if (textField == self.txtConfirmPassword){
        [self.txtFirstName becomeFirstResponder];
      }
      else{
        [textField resignFirstResponder];
      }

   return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
   [textField resignFirstResponder];
   [textField layoutIfNeeded];
}

我尝试从上面的PHP代码调用java脚本函数,然后关闭警报,没有运气

<?php

// show potential errors / feedback (from login object)
if (isset($login)) {
    if ($login->errors) {
        foreach ($login->errors as $error) {
            $AlertError = $error;

            echo '<div class="alert alert-warning alert-dismissible" role="alert" id="loginerror">
               <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
               <strong>' . $AlertError . '</strong>
               </div>';
        }
    }
}

1 个答案:

答案 0 :(得分:1)

你必须有setTimeout()之类的延迟,然后点击关闭按钮上的.click()

if($('#loginerror').length){ // <-----checks if loginerror div is available
   setTimeout(function(){
      $('#loginerror').find('.close')[0].click();
   },1*1000);
}