2012-02-27 98 views
-2

四个文本框位于JSP页面中。输入第一个文本框后,当我按标签时,焦点移至第二个文本框。同样的重点将在重复按标签后的第3和第4个文本框。文本框为空时的警报

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

如果我从第一到第三个文本框移动没有填写第二个文本框,然后我想有来作为“第二个文本框不能为空”警报。同样在第一个,第二个输入数据之后,如果我正在移动到第四个文本框而没有填充第三个文本框,那么我想要一个警报作为“第三个文本框不能为空”。警告之后,重点必须再次放在该空白文本框上,焦点不能再移动。我怎样才能做到这一点?

+0

您刚刚在此处发布了您的作业问题。你有什么尝试?你卡在哪里? – 2012-02-27 08:14:55

+2

请在这里阅读第一点:http://stackoverflow.com/questions/how-to-ask – 2012-02-27 08:21:59

回答

1

你已经用jQuery标记了问题,所以我给你一个jQuery解决方案。你可能想使选择更具体一点,这取决于你的HTML:

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

此结合事件处理程序的blur事件的元素(当字段失去焦点的时候触发,无论是通过压片,点击其他地方或任何其他改变焦点的方法)。事件处理程序检查该字段是否有值,如果不是,则会使用jQuery index方法获取元素相对于其兄弟的索引。

这是working example

+0

雅它显示警报,但如果第二个文本框为空,如果我正在移动,焦点将不会移动到第3个文本框到第三个文本框没有填充第二个文本框然后警报会来,也将焦点将在第二个文本框再次输入数据 – saroj 2012-02-27 07:56:05

+0

我刚刚在我的问题的最后一句话中添加了一个 – saroj 2012-02-27 07:57:41

+0

@student - 我编辑了代码。你只需要将焦点放回当前的“输入”。 – 2012-02-27 08:02:56