如果有人要在此处进行编辑,我也有一个Codepen链接:https://codepen.io/Filizof/pen/qMLbKg?editors=1010
为什么我的焦点事件监听器不检查/反应输入字段中值的长度?
document.getElementById("fname").addEventListener("keydown", validateName);
document.getElementById("fname").addEventListener("focus", checkInput1);
function checkInput1() {
var name = document.getElementById("fname");
var check = document.getElementById("check1");
if (name.value == "" || null) {
check.src = "https://mbtskoudsalg.com/images/image-x-png-4.png";
}
}
<div id="maindiv">
<h2 id="signup">Free enrollments end in <img id="myimg" src="https://image.flaticon.com/icons/svg/69/69637.svg"> days!</h2>
<form id="myform">
<label class="labels" for="fname">Firstname</label><br/><input class="inputs" type="text" id="fname"><img id="check1" class="imgs" src=""><br/><br/>
<label class="labels" for="lname">Surname</label><br/><input class="inputs" type="text" id="lname"><img class="imgs" src=""><br/><br/>
<label class="labels" for="email">Email</label><br/><input class="inputs" type="text" id="email"><img class="imgs" src=""><br/><br/>
<label class="labels" for="pword">Create password</label><br/><input class="inputs" type="password" id="pword"><img class="imgs" src=""><br/><br/>
<label class="labels" for="pword2">Confirm password</label><br/><input class="inputs" type="password" id="pword2"><img class="imgs" src=""><br/><br/>
<button id="mybtn">Enroll</button>
</form>
</div>
答案 0 :(得分:0)
发生这种情况是因为img
是隐藏的,您应该在附加src
之后显示它,例如:
if (name.value == "" || null) {
console.log( 'attach src' );
check.src = "https://mbtskoudsalg.com/images/image-x-png-4.png";
check.style.display = "inline";
}else{
check.style.display = "none";
}
答案 1 :(得分:0)
您的第一行代码正在破坏程序。
打开控制台,然后您会发现那里是一个错误。
因此,我删除该行,“ checkInput1”函数正在起作用。
// document.getElementById("fname").addEventListener("keydown", validateName);
document.getElementById("fname").addEventListener("focus", checkInput1);
function checkInput1() {
/**
* If you don't delete that line of code, you can't into here
*/
alert('It is work');
var name = document.getElementById("fname");
var check = document.getElementById("check1");
if (name.value == "" || null) {
check.src = "https://mbtskoudsalg.com/images/image-x-png-4.png";
}
}
答案 2 :(得分:0)
您的img类设置为不显示。只需在设置src后将其设置为阻止
// document.getElementById("fname").addEventListener("keydown", validateName);
document.getElementById("fname").addEventListener("focus", checkInput1);
function checkInput1() {
var name = document.getElementById("fname");
var check = document.getElementById("check1");
if (name.value == "" || null) {
check.src = "https://mbtskoudsalg.com/images/image-x-png-4.png";
check.style.display = "block";
}
}
#maindiv {
height: 480px;
width: 400px;
background: #C93756;
}
#signup {
color: white;
font-family: arial;
text-align: center;
}
#myimg {
width: 30px;
height: 30px;
}
.labels {
font-family: arial;
float: left;
color: #FCC9B9;
}
.inputs {
height: 25px;
border-radius: 10px;
background: #C93756;
border: 2px solid #FCC9B9;
font-size: 18px;
text-align: center;
color: white;
}
#myform {
position: relative;
right: -18px;
}
#mybtn {
height: 30px;
width: 80px;
background: #C93756;
border: 2px solid #FCC9B9;
color: #FCC9B9;
}
.imgs {
height: 20px;
width: 20px;
display: none;
}
<div id="maindiv">
<h2 id="signup">Free enrollments end in <img id="myimg" src="https://image.flaticon.com/icons/svg/69/69637.svg"> days!</h2>
<form id="myform">
<label class="labels" for="fname">Firstname</label><br/><input class="inputs" type="text" id="fname"><img id="check1" class="imgs"><br/><br/>
<label class="labels" for="lname">Surname</label><br/><input class="inputs" type="text" id="lname"><img class="imgs" src=""><br/><br/>
<label class="labels" for="email">Email</label><br/><input class="inputs" type="text" id="email"><img class="imgs" src=""><br/><br/>
<label class="labels" for="pword">Create password</label><br/><input class="inputs" type="password" id="pword"><img class="imgs" src=""><br/><br/>
<label class="labels" for="pword2">Confirm password</label><br/><input class="inputs" type="password" id="pword2"><img class="imgs" src=""><br/><br/>
<button id="mybtn">Enroll</button>
</form>
</div>