正在使用 jquery
函数 keyup()
创建注册表单,
例如,如果输入是正确的,我将它分配给一个 txtuname 变量,然后我按下注册按钮,我需要知道所有的表单变量都是正确的和定义的。下面的代码不起作用:
<script type="text/javascript">
$("document").ready(function() {
$("#txtuname").keyup(function() {
if ($("#txtuname").val().length < 6) {
jQuery("label[for='txtuname']").text("user name is too short");
}
if ($("#txtuname").val().length >= 6) {
var txtuname = $("#txtuname").val();
jQuery("label[for='txtuname']").text("");
}
});
$("#submitRegistration").click(function() {
if (typeof txtuname == 'defined') {
alert("defined");
}
if (typeof txtuname == 'undefined') {
alert("undefined");
}
});
});
</script>
最佳答案
修改后的代码。这段代码的要点是 txtuname
应该在 keyup
事件监听器和 click
监听器的两个范围内都可见。因此,如果有更多元素,请创建验证对象,然后检查是否所有值都已设置且正确。是的,在您的代码中使用 $
或 jQuery
。
$("document").ready(function(){
var txtuname = null;
$("#txtuname").keyup(function(){
if($("#txtuname").val().length<6){
jQuery("label[for='txtuname']").text("user name is too short");
}
if($("#txtuname").val().length>=6){
txtuname=$("#txtuname").val();
jQuery("label[for='txtuname']").text("");
}
});
$("#submitRegistration").click(function(){
if( txtuname == null || txtuname.length < 6) ){
alert("incorrect");
}
else{
alert("correct");
}
});
});
更新 使用@Rhumborl 的注释检查变量,thx
关于javascript - Jquery:检查变量是否在keyup()函数之后定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37460276/