Поле со списком исчезает, когда приходит предупреждение

В моей странице jsp у меня есть одно текстовое поле и два поля со списком. На моей странице jsp появляется предупреждение, когда я пишу что-то в текстовом поле. Предупреждение появляется, поскольку "имя пользователя уже существует" и после предупреждения о том, что текстовое поле autorefreshed , но два поля со списком исчезают, почему? я не мог понять, что может быть причиной любой помощи, пожалуйста? В главном разделе я включил следующее. Полный источник для предупреждения - здесь.

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

Ответ 1

Все в порядке с вашим кодом. Когда я начал отлаживать ваш код, я увидел интересную вещь в alertbox.js: (строка 141 и 178)

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

Этот код обнаруживает ie6 (если читать комментарий), но кажется его ошибкой.

Просто прокомментируйте эти строки, и ваша проблема будет решена.

И не забывайте публиковать эту ошибку! Удачи. И начните использовать отладчик:)

Ответ 2

следующий код решит вашу проблему,

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