您好我在提交表单之前有一个简单的表单验证。 验证如果使用简单的javascript函数正常工作,但我尝试使用jQuery但它没有按预期工作。 这是我正在使用的代码:
JSP:
<form action="/newManager.do" onsubmit="return validateListPropFields()" method="post">
<input type="hidden" name="operation" value="saveNewPropManagerInfo"/>
<td>Name<span class="required">*required</span></td>
<td><input type="text" name="name" id="name" placeholder="John Doe" /></td>
<input type="image" src="../images/common/submit_property.png" alt="Submit"/>
</form>
Javascript工作正常:
function validateListPropFields(){
var name = jQuery("#name").val();
if( name==""){
return false;
}
else{
return true;
}
}
JQuery不起作用:
function validateListPropFields(){
jQuery.noConflict();
(function($) {
$(function() {
var name = jQuery("#name").val();
if( name==""){
return false;
}
else{
return true;
}
});
})(jQuery);
}
在这里,我想了解是什么让jQuery无法按预期工作?
答案 0 :(得分:4)
对于jQuery,您的validateListPropFields()
函数不会返回任何内容。在这个函数中有一个匿名函数,它返回true或false但对外部函数没有影响。
虽然我不知道为什么你想让事情复杂化我对你的代码进行了一些调整,以便它可以工作:
function validateListPropFields(){
jQuery.noConflict();
return (function($) {
return (function() {
var name = jQuery("#name").val();
if( name==""){
return false;
}
else{
return true;
}
});
})()(jQuery);
}
通过提交此代码,我并不是说这是一个很好的方法。我只是想说明如何使这些内部匿名函数适用于你的外部函数。
答案 1 :(得分:0)
您必须先导入jquery库
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
答案 2 :(得分:-1)
它对我有用
function validateListPropFields() {
if ($("#name").val() == "") {
return false;
} else {
return true;
}
}