我想有一个脚本,测试输入是否包含一个问号,如果它包含,更改一些css。我该怎么做呢?
发布于 2011-03-27 17:27:00
使用jQuery
if ($("#myinputbox").val().indexOf("?") != -1) {
$("#someotherelement").css("color", "red");
$(this).css("color", "green");
} else {
alert("Doesn't contain a question mark");
}
不使用jQuery:
if (document.getElementById('myinputbox').value.indexOf("?") != -1) {
document.getElementById("someotherelement").className += " NewClass";
this.className += " NewClass";
} else {
alert("Doesn't contain a question mark");
}
更新:验证onKeyDown()
$("#myinputbox").keydown(function() {
if ($(this).val().indexOf("?") != -1) {
$(this).css("color", "green");
} else {
$(this).css("color", "red");
}
});
发布于 2011-03-27 19:17:35
使用keydown()验证有效,但是keydown事件在字符实际输入文本框之前触发。因此,一旦你输入一个'?',你不会得到颜色的变化,直到下一个键被按下,触发keydown()。如果您将其更改为使用keyup(),它将在'?‘之后立即触发。就是放手,在键入后立即更改颜色。你可以像Jesse建议的那样通过警报值来测试这一点,你在文本框中输入的第一个字母实际上会显示一个空的警报。将其更改为keyup()并使用alert测试,您将看到刚才在文本框中键入的内容。
https://stackoverflow.com/questions/5450903
复制相似问题