我是java脚本的新手,所以我有一个疑问。我创建了一个包含用户名和密码的表单,我需要知道如何在点击时更改文本框的背景颜色?它会有所帮助。 我的代码:
<script type="text/javascript">
function AllowLock(){
if (!locker.lock.value.match(/[a-zA-Z]$/) && locker.lock.value !="")
{
locker.lock.value="";
alert("Please Enter only valid lock");
}
if(locker.lock.value.length > 5)
alert("max length exceeded");
}
function AllowKey(){
if (!locker.keys.value.match(/[a-zA-Z]$/) && !locker.keys.value.match(/[0-9]+$/))
{
locker.keys.value="";
alert("Please Enter only valid key");
}
if(locker.keys.value.length > 5)
alert("max length exceeded");
}
function LockName(){
{
if(locker.lock.value.length==0)
document.getElementById('errfn').innerHTML="this is invalid name";
}
{
if(locker.keys.value.length==0)
document.getElementById('error').innerHTML="this is invalid key";
}
}
</script>
答案 0 :(得分:3)
将此添加到按钮的onclick功能。
document.getElementById('error').style.backgroundColor="#some hex value";
答案 1 :(得分:3)
如果要在输入聚焦时更改background-color
(插入符号位于input
内且用户正在与之交互,则不需要JavaScript,您可以使用CSS:
input:focus {
background-color: #ffa;
}
但是,使用JavaScript:
var el = document.getElementById('inputElementID');
el.style.backgroundColor = '#ffa';
答案 2 :(得分:1)
而不是点击,使用焦点会更好。
使用jquery。
Jquery看起来与javascript不同,但它是用javascript构建的。只需在google CDN中加入jquery即可。或者下载它,只需将其包含在您的文件中即可。
$( "#divName" ).focus(function() { //give the div a name, and wrap the div around the text box
$(this).css( "background", "red" );
});
编辑:哦,是的!这家伙是对的!完全有一个伪类。 (一个处理它的CSS技巧)
答案 3 :(得分:1)
<强> CSS 强>
不需要JavaScript,只需添加此样式 -
如果您分配了一些id
,则使用ID error
-
/* if your text box id is error */
#error:focus{
background-color: #ff0000;/* red some color*/
}
否则你总是可以使用其他css选择器,例如通过标记名
/* for input tags */
input:focus{
background-color: #ff0000;/* red some color*/
}
或按课程
/* for `some-class` */
.some-class:focus{
background-color: #ff0000;/* red some color*/
}
<强>的JavaScript 强>
如果您想使用JavaScript,那么 -
/* assuming your input element has id - `error` */
var el = document.getElementById("error");
/* add a click listener to it */
el.onclick = function() {
el.style.backgroundColor = "#ff0000";
}
注意强>
使用css方式比JavaScript好,因为它干净,element-selector:focus
会在input
外点击时自动设置以前的背景色。
答案 4 :(得分:1)
如果您只想更改输入框中的背景颜色,则不需要任何JavaScript 只需使用CSS:focus伪类。
input:focus{
background: #ffff00;
}
查看此页面以了解有关CSS伪类的更多信息 - http://www.tutorialrepublic.com/css-tutorial/css-pseudo-classes.php
答案 5 :(得分:1)
我认为是这样的:
<script>
window.onload="myFunction(
var textbox = document.getElementById('elementID');
textbox.onclick = changeColor;
function changeColor() {
textbox.style.backgroundColor = "#000000";
return false;
}
)";
</script>
答案 6 :(得分:1)
尝试使用jQuery。它更容易
$('#lock').click({
var input = $('#input').val();
var regex = '/[a-zA-Z]$/';
if(input != ''
&& !input.match(regex))
{
input.val('');
alert("Please Enter only valid lock");
}
if(input.length > 5)
{
alert("max length exceeded");
}
//Here is the CSS part. You can change it of the button or the input field
$('#input').css('background-color', 'red');
});
以下是随附的示例HTML。此外,可以应用于某些输入的maxlength属性可能会使您的“超出最大长度”功能变得不必要。
<input id="input" value="" type="text" maxlength="5" />
<button id="lock">Lock</button>