当警报到来时,组合框正在消失

时间:2012-02-19 08:01:51

标签: javascript jquery html alert

在我的jsp页面中,我有一个文本框和两个组合框。当我在文本框中写东西时,我的jsp页面中会出现警报。警报即将出现,因为“用户名已经存在”,并且警告文本框已自动恢复但两个组合框已消失为什么?我无法找出可能有什么帮助的原因吗?我在头部包括以下内容。警报的完整来源是here

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());

2 个答案:

答案 0 :(得分:5)

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

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

此代码检测ie6(如果阅读评论),但似乎是它的错误。

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

不要忘记发布此错误! 祝好运。并开始使用调试器:)

答案 1 :(得分:1)

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

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