2013-07-30 84 views
1

我想在用户点击提交按钮时验证用户输入,但它不起作用。jQuery字段验证不起作用

jQuery的

$(document).ready(function() { 
    function validateForm() { 
     if ($('#u').value() == '') 
     { 
     alert("no value found"); 
     return false; 
     } 

    }); 

}); 

HTML

<form name="myForm" action="main.php" onsubmit="return validateForm()" method="post"> 
    <input type="text" id="u" /> 
    <input type="submit" value="submit" /> 
</form> 
+0

您的表单中没有'id =“u”'。 – Barmar

+0

你是什么意思的“它不会工作”? – federicot

+0

只是'$('#u')。val()'。你会得到它 –

回答

2

有在你的代码中的许多问题。

  • 值是一个functionattribute删除您可以使用val(),你也不能使用jQuery对象的值,你可以与DOM对象使用它。

  • 您可能忘记了将ID分配给您的输入字段也分配。

  • 声明<input type="text">应该B4 <input id="u" type="text">

  • 你有多余的括号关闭功能validateForm的currly支架,你不关闭输入标签后。

Live Demo

if ($('#u').val() == '') 
{ 
    alert("no value found"); 
    return false; 
} 

您可以使用本地JavaScript方法的getElementById获取DOM元素(对象)和对象的使用价值属性。

Live Demo

if (document.getElementById('u').value == '') 
{ 
    alert("no value found"); 
    return false; 
} 
+1

是的,但没有id =“u”,所以你的答案不适用于他的特殊问题。编辑:现在问题包括id =“你”,他只是修改它。大声笑。 –

+0

谢谢@AlejandroIván,你是对的,更新了我的答案。 – Adil

+0

我想更改#label的值而不是alert。这就是为什么我使用jQuery – IceDawg

0

尝试

if ($('#u').value() == '') 
{ 
    alert("no value found"); 
    return false; 
} else { 
    $('form[name="myForm"]').submit(); 
} 
+0

@坎帕里然后它不会发送表单.. – IceDawg

0

由于@Barmar建议检查您的现有代码为丢失的ID。我会将id="u"添加到<input type="text">,并且要谨慎选择不明确的id名称,以便其他人稍后可以读取您的代码。

现在你已经编辑了原来的问题就很难看到我的答案是如何出现的相关

0

顺便说一句,我发现在你的代码的尴尬。让我们关注到这条线:

...... 
    if ($('#u').value() == '') 
    { 
    alert("no value found"); 
    return false; 
    } 

}); 

}); 

有两大});,其中一个用于$(document)和一个用于if()?虽然对于if(),不要键入那样,只需}用于有条件关闭。并且为了制作function ...,您不需要将功能放入$(document).ready。它可以独立使用。例如:

function validateForm() { 

    if ($('#u').val() == '') 
    { 
     alert("no value found"); 
     return false; 
    } 

} 

你应该改变。价值()来.VAL()

See this的结果。希望这会有所帮助