当警报来临时,组合框将消失

combo box is getting vanished when an alert is coming

本文关键字:组合 消失      更新时间:2023-09-26

在我的jsp页面中,我有一个文本框和两个组合框。当我在文本框中写东西时,我的jsp页面中会出现警报。警报是以"用户名已经存在"的形式出现的,在警报之后,文本框会自动刷新,但两个组合框会消失,为什么?我不知道是什么原因,请帮忙?我在标题部分包括了以下内容。这里有完整的警报来源。

http://csscody.com/demo/wp-content/demo/popup/js/jquery.easing.1.3.js

http://csscody.com/demo/wp-content/demo/popup/js/alertbox.js

http://csscody.com/demo/wp-content/demo/popup/js/style.css

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <SCRIPT type="text/javascript" src="js/jquery.min.js"></SCRIPT>
<SCRIPT type="text/javascript" src="js/jquery.easing.1.3.js"></SCRIPT>
<SCRIPT type="text/javascript" src="js/alertbox.js"></SCRIPT>
<LINK rel="stylesheet" type="text/css" media="all" href="js/style.css">
    <script type="text/javascript">
          $(document).ready(function() {
           $("#textbox").keyup(function () {
    $.getJSON('check.jsp', {
        textboxname: this.value
    },function(data){
      if(data.isTrue){
          $("#textbox").val(''); //clear the text box
          csscody.alert("username already exists");// here alert is coming
                 }
      else{
      }
     });
});
});
    </script>
 </head>
<body>
        <input type="text" id="textbox" name="textboxname" style="position: absolute; width: 250px; left: 110px; top: 40px;" />
<br/><br/>
// The following two combo boxes are getting vanished after alert why
<select id="" name="" style="position: absolute; left: 600px; top: 40px; width: 250px;">
     <option value=""></option>
      <option value="somedata">somedata</option>
          </select>
<br/><br/> 
<select id="" >
    <option value="_"></option>
     <option value="somedata">somedata</option>
        </select>
 </body>
</html>

check.jsp

JSONObject jsonObj= new JSONObject(); 
jsonObj.put("isTrue","true");
response.setContentType("application/json");
response.getWriter().write(jsonObj.toString());

您的代码完全可以。当我开始调试你的代码时,我在alertbox.js中看到了一些有趣的东西:(第141和178行)

  if (!$.support.maxHeight) { //IE6
              $('embed, object, select').css({ 'visibility' : 'hidden' });
  }

这段代码检测到ie6(如果阅读评论),但似乎有问题。

只要评论这些行,您的问题就会得到解决

别忘了发布这个bug!祝你好运并开始使用调试器:)

以下代码将解决您的问题,

csscody.alert("username already exists",{ onComplete: function(){
           $('embed, object, select').css({ 'visibility' : 'visible' });
      }
 });