焦点仅在文本框中时发出警报

时间:2012-02-28 07:44:11

标签: javascript jquery html textbox alert

当我跳过文本框时,我收到警报,但无论我在哪个页面点击,都会发出警报。当焦点位于文本框时,如何显示警报?即使我打开一个新标签,警报也会出现。有办法解决这个问题吗?非常感谢。

$(function() {
    $("input").blur(function() {
    if(!this.value) {
      alert("Text box " + ($(this).index() + 1) + " cannot be empty.");
      this.focus(); //Keep focus on this input
    }
});

身体部分

<input type="text" id="textbox1"/>
<input type="text" id="textbox2"/>
<input type="text" id="textbox3"/>
<input type="text" id="textbox4"/>

3 个答案:

答案 0 :(得分:2)

  $(function() {
        $('input:text').blur(function() {
if(!this.value) {
    alert("Text box " + ($(this).index() + 1) + " cannot be empty.");
    this.focus(); //Keep focus on this input
}
});
});

还访问http://api.jquery.com/text-selector/

希望它有所帮助。

答案 1 :(得分:0)

  <script type="text/javascript">
        function getAlert(txt) {
                if (!txt.value) {
                    alert("Text box cannot be empty.");
                    txt.focus(); //Keep focus on this input
                }

        }; 
    </script>

<input type="text" id="textbox1" onfocus="getAlert(this)"/>

我希望这能解决你的问题。

答案 2 :(得分:0)

试试这个,

$(function() {
   $("input[type=text]").blur(function() {
       if (!this.value && $(document.activeElement).attr("type") == "text")
          alert("Text box " + ($(this).index() + 1) + " cannot be empty.");
          this.focus();
       }
    });
}); 

document.activeElement将为您提供当前所选元素,然后您可以比较所选元素是否为文本框。

希望这有助于.........