如何让javascript focus()方法在输入文本框的onBlur事件中工作?

Tas*_*ima 6 javascript xhtml dom javascript-events

对我来说javascript focus()方法工作正常,如果我使用它与按钮和onClick事件,但与文本框中的onBlur,它不工作.任何人都可以指导我吗?

<html>
<head>
<script type="text/javascript">
function displayResult()
{
var inp1=document.getElementById("text1").value;
var inp2=inp1.length;
if(inp2==0)
{
alert("Field 1 cannot be left Empty");
//document.getElementById("text1").value="";
document.getElementById("text1").focus();
}
}
</script>
</head>
<body>
<input type="text" name="text1" id="text1" onBlur="displayResult();"/>
<input type="text" name="yext2" id="text2" />


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Tab*_*med 1

自从您发布问题以来,我使用不同的技术对您的问题进行了一个小时的实验。现在在我看来,通过输入上的事件,您无法将焦点设置在其本身上。

不过,还有另一种可能的解决方法。displayResult()您可以在表单提交时调用,检查是否text1为空,如果为空则取消提交并将焦点置于 上text1。我已经为你重写了代码。

<html>
<head>
<script type="text/javascript">
function displayResult()
{
var inp1=document.getElementById("text1").value;
var inp2=inp1.length;
if(inp2==0)
{
alert("Field 1 cannot be left Empty");
document.getElementById("text1").focus();
return false;
}
}
</script>
</head>
<body>
<form onsubmit="return displayResult();">
<input type="text" name="text1" id="text1" />
<input type="text" name="yext2" id="text2" />
<input type="submit"  />
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

希望有帮助...

祝你平安 ...