我正在进行一个简单的表单验证,它简单地检查是否填写了高度字段。我已经仔细检查了我的代码中的所有内容,但我找不到它为什么不起作用。
我的HTML:
<form id="configuration" action="">
<div class="con_near">
<label for="height">height: (mm)</label>
<input id="form_height" name="height" maxlength="4" type="text" />
</div><!--End con_near-->
<input name="calculated" type="submit" class="submit" value="Calculate" />
</form>
我的jQuery:
<script>
$(document).ready(function(){
// Form validation
var configForm = $("#configuration");
var height = $("#form_height");
// On blur
height.blur(validateHeight);
// On keyup
height.keyup(validateHeight);
configForm.submit(function(){
if(validateHeight())
return true;
else
return false;
});
function validateHeight() {
if(height.val().length() < 4) {
height.addClass("red_border");
return false;
}
else{
height.removeClass("red_border");
return true;
}
}
});
</script>
答案 0 :(得分:2)
长度不是一个属性,它是一个属性
陷阱>
configForm.submit(function(){
if(validateHeight(height))
return true;
else
return false;
});
function validateHeight(height) {
if(height.val().length < 4) {
height.addClass("red_border");
return false;
}
else{
height.removeClass("red_border");
return true;
}
}
答案 1 :(得分:1)
问题在于.length()
使用
if(height.val().length < 4) {
而不是
if(height.val().length() < 4) {
答案 2 :(得分:0)
使用length
代替length()
喜欢,
if(height.val().length < 4) {
取代
if(height.val().length() < 4) {
function validateHeight(height) {
if(height.val().length < 4) {
.....
答案 3 :(得分:0)
提交事件不会因返回false而停止你需要使用preventDefault()来停止事件试试这段代码
configForm.submit(function(e){
if(!validateHeight())
e.preventDefault();
});
function validateHeight() {
if(height.val().length < 4) { // <- here you also made a mistake in length its a property not a function
height.addClass("red_border");
return false;
}
height.removeClass("red_border");
return true;
}
答案 4 :(得分:0)
尝试这样的事情
$(document).ready(function(){
// Form validation
var configForm = $("#configuration");
var height = $("#form_height");
// On blur
height.blur(validateHeight);
// On keyup
height.keyup(validateHeight);
configForm.submit(function(){
return validateHeight();
});
function validateHeight() {
if(height.val().length < 4) {
height.addClass("red_border");
return false;
}
else{
height.removeClass("red_border");
return true;
}
}
});