<script>
function valid() {
document.getElementById("name").style.borderColor = "#ef0000";
}
</script>
<form method="post" action="">
<input type="text" name="name" id="name">
<input type="submit" onclick="valid()" value="click">
</form>
为什么这段代码不起作用?我只看到一点红色,边框又回到了初始状态。请大家原谅,真的。我知道它是重复的(我什至在这里找到了至少一个可行的解决方案:http://jsfiddle.net/bcxLz4wh/)我只是想知道我的代码有什么问题以及为什么它返回到初始状态。
最佳答案
它返回到初始状态,因为您单击了提交按钮。它的默认行为是提交刷新页面的 form
。如果您只想更改 border-color
,则需要覆盖该默认行为。
像这样的东西:
function valid(e) {
document.getElementById("name").style.borderColor = "#ef0000";
e.preventDefault();
}
<form method="post" action="">
<input type="text" name="name" id="name">
<input type="submit" onclick="valid(event)" value="click">
</form>
关于javascript - 使用 js onclick 更改输入类型颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412283/