js验证后,取消文本框中的光标?

我想在js验证失败后,去掉文本框中的光标。就是验证正确以后才能在文本框中输入信息。请高手解答。不胜感激!
<body>
载入文件三 <br>
<script type="text/javascript">
function on() {
var x="";
x = window.prompt("你的第一所学校是?", x);//输出
while (x != null && x!="abc") {
x = window.prompt("你的第一所学校是?", x);//输出
}

if (x == null)
window.alert("你选择了放弃");
else
window.alert("会的正确,请填写你的密码!");
}
</script>
修改密码:<input type="type" name="pass" onclick="on();">
</body>

认证失败后,让input失去焦点就可以实现了!
你的代码我就不全部复制了,主要是改 if 语句,代码如下:
if (x == null)
{
window.alert("你选择了放弃");
document.getElementById("input1").blur();
}
else
{window.alert("会的正确,请填写你的密码!");}
==========================================
然后在你的input中加一个ID,如:<input type="type" id="input1" name="pass" onclick="on();">

我试过是可行的。追问

验证失败后,确实失去焦点了,重新点击也出现验证。但是验证成功后焦点也失去了啊 ?

追答

你试过没有?
因为使文本框失去焦点的代码是放在if(null){}里面的,也就是说当你没有任何输入(验证失败)时,文本框就会失去焦点
而else{}里面,也就是验证成功时,仅仅谈出警告框。

我自己试的时候是没问题的

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-15
<body>
载入文件三 <br>
<script type="text/javascript">
function on() {
var x="";
x = window.prompt("你的第一所学校是?", x);//输出
while (x != null && x!="abc") {
x = window.prompt("你的第一所学校是?", x);//输出
}

if (x == null){
document.getElementById("pass").disabled=true;////////
window.alert("你选择了放弃");
}
else{
document.getElementById("pass").disabled=false;/////////////
window.alert("会的正确,请填写你的密码!");
}
}
</script>
修改密码:<input type="type" name="pass" id="pass" onclick="on();">/////////id

</body>追问

验证失败后是失去焦点了。但再想点就不好使了。

追答


function on() {
var x="";
x = window.prompt("你的第一所学校是?", x);//输出
while (x != null && x!="abc") {
x = window.prompt("你的第一所学校是?", x);//输出
}

if (x == null){
document.getElementById("pass").disabled=true;////////
window.alert("你选择了放弃");
document.getElementById("pass").disabled=false;/////////////
}
else{

window.alert("会的正确,请填写你的密码!");
}
}

追问

验证成功后,焦点也失去了。还是没法实现要验证才能输入的功能。我刚学js,不太懂,麻烦你们了!

追答

我修改了答案。可以的 你试下

追问

验证成功后,焦点好像也消失了。

追答

if (x == null){
document.getElementById("pass").disabled=true;////////
window.alert("你选择了放弃");
document.getElementById("pass").disabled=false;/////////////
}
else{
window.alert("会的正确,请填写你的密码!");
}
认真看代码 这样焦点是不会消失的

本回答被提问者和网友采纳
第2个回答  2011-07-25
要让文本框失效,只要设置其disabled属性。
<input type="type" name="pass" onclick="on();" disabled="disabled">
如果用js控制,先给input一个ID,比如id_input, 然后:
document.getElementById("id_input").disabled="disabled";
如果在失效后想再激活它,则:
document.getElementById("id_input").disabled=undefined;
第3个回答  2011-07-25
验证失败后 让文本框失去焦点追问

对。就是验证失败后,失去焦点!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网