【问题标题】:combo box is getting vanished when an alert is coming警报到来时组合框消失
【发布时间】:2012-02-19 21:35:08
【问题描述】:

在我的 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());

【问题讨论】:

  • 我已经给出了 check.jsp 也请任何建议,为什么在“用户名已经存在”警报之后组合框会消失?
  • 奇怪的家伙组合框消失了!!
  • 是的,但可能是什么原因?请提出一个可能的解决方案
  • 我已经向其他人询问过您的问题,但我不知道您的问题的答案

标签: javascript jquery html alert


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 最好在关闭警报后显示内容而不是更改代码。stackoverflow.com/a/9349626/880434
  • @user1217615 没问题就问
  • @Chamika Sandamal 完全同意你的观点,但有两个问题。 1.当覆盖div显示所有选择隐藏它不好。 2. 最好将这个 bug 发布给 alertbox.js 开发者,然后更新
  • 同意!最好报告它们并修复它。而是更改他们的代码。直到他们修复建议以更好的方式调用它(因为有解决方法)。
  • @SanjaMelnichuk 有什么建议请在这里我错了http://stackoverflow.com/questions/9377544/returning-sum-from-server-side-by-json
【解决方案2】:

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
相关资源
最近更新 更多