我已将onchange写到文本框中。其中,如果值小于10,则必须将光标聚焦到文本框,以便进行尝试。
function myFunctionId (elt) {
alert(elt.id);
if(elt.value < 10) { alert(elt.value);
document.getElementById("tester").focus();
}
}http://jsfiddle.net/dRkuv/588/
但这一重点并不奏效。我怎样才能做到这一点?
发布于 2013-10-08 04:37:20
这是我的解决办法
function myFunctionId (elt) {
if(elt.value < 10) {
window.setTimeout(function(){
elt.focus();
},0);
}
}myFunction是在elt失去焦点之前被调用的,所以如果您调用它的焦点,它就不能工作。但是,如果您使用setTimeout函数,则稍后会调用它。
发布于 2013-10-08 04:14:51
如果我没有错,这就是您想要的HTML中的内容:
<input type="text" onchange="myFunctionId(this);" id="tester" placeholder="Pass Element">在Javscript中,应该是elt.value.length <10,您需要使用setTimeOut来防止文本游标不显示:
function myFunctionId (elt) {
console.log(elt.id);
if(elt.value.length < 10) {
console.log(elt.value);
setTimeout(function(){
elt.focus();
},1);
}
}发布于 2013-10-08 04:26:20
function myFunctionId (elt) {
var val=document.getElementById("tester").value;
alert(elt.id);
if(val < 10) { alert(val);
document.getElementById("tester").focus();
return false;
}
}https://stackoverflow.com/questions/19238916
复制相似问题