我正在使用javascript
,我想根据文本框中的内容更改html代码。但是我有从前一页传递并放入输入的值。但是html代码没有触发,因为它使用.keyup
函数,我想知道是否可以在没有键盘功能的情况下执行javascript而不改变文本。
我的代码
<div>
<label>Name</label><br />
<input type="text" id="name" name="name" onChange="NameCheck();"/>
<span class="error" id="namecheck"></span>
</div>
$(document).ready(function () {
$("#name").keyup(NameCheck);
});
function NameCheck() {
var password = $("#name").val();
if (password == ""){
$("#namecheck").html("Name is Blank");
$("#namecheck").css('color', 'red');
return false;
}else{
$("#namecheck").html("Name Is Valid");
$("#namecheck").css('color', 'green');
return true;
}
}
答案 0 :(得分:1)
检查这个jsfiddle,这是你想要的一个有效例子!请注意,您不需要onchange
方法,因为您使用的是jquery的keyup
所以你的代码应该是这样的: JS:
$(document).ready(function () {
$("#name").keyup(function () {
NameCheck();
});
NameCheck();
});
function NameCheck() {
var password = $("#name").val();
if (password == "") {
$("#namecheck").html("Name is Blank");
$("#namecheck").css('color', 'red');
} else {
$("#namecheck").html("Name Is Valid");
$("#namecheck").css('color', 'green');
}
}
HTML:
<div>
<label>Name</label>
<br />
<input type="text" id="name" name="name" />
<span class="error" id="namecheck"></span>
</div>
答案 1 :(得分:0)
虽然您应该重新构建代码以不使用全局变量,但如果要在页面加载时调用NameCheck()
,请在事件绑定后调用它,例如:
$(document).ready(function () {
$("#name").keyup(NameCheck);
NameCheck();
});