表单在Jquery验证后不提交

时间:2012-02-03 01:06:18

标签: java javascript hibernate spring

$('form#injuryReportSubmit').submit(function(){             
if(($('form#injuryReportSubmit textarea.description').val().length <=0) || ($('form#injuryReportSubmit select.part').val()== "choose one...") ||($('form#injuryReportSubmit select.type').val() == "choose one...") || ($('form#injuryReportSubmit select.weather').val()=="choose one..."));
            {  
                $('div#errorMessage').show();
                return false;
            }           
}); 

上面的代码用于在提交表单之前验证表单。问题是即使所有测试都是假的,表单也不会提交。有人可以帮忙吗? 表单在jsp上,看起来像

<form id ="injuryReportSubmit" method ="post" action="injuryReportingPage.html" >
        <p class ="first" >Date Of Injury</p>
        <p class ="second">Date Reported to Manager</p>
        <input type="text" id="dateOfInjury" name="dateOfInjury">       
        <input type="text" id="dateReported" name ="dateReported">
        <p class ="weather">Weather</p>
        <p class ="injuryType">Injury Type</p>
        <p class ="bodyPart">Body Part</p>
        <p class ="time">Time Injury Occurred</p>
        <p class ="description">Description</p>
        <select class ="weather" name="weather">
        <%if(InjuryReportController.getWeatherList() != null){ %>   
        <%   for(Weather weather : InjuryReportController.getWeatherList()){%>
        <option><%= weather.getWeatherCondition() %></option>
        <%} }%>
        <option >choose one...</option>
        </select>

        <select class ="type" name="injuryType">        
        <%if(InjuryReportController.getInjuryTypeList() != null){ %>    
        <%   for(InjuryType injuryType : InjuryReportController.getInjuryTypeList()){%>
        <option><%= injuryType.getInjuryTypeName() %></option>
        <%} }%>
        <option>choose one...</option>
        </select>

        <select class ="part" name="bodyPart">      
        <%if(InjuryReportController.getBodyPartList() != null){ %>  
        <%   for(BodyPart bodyPart : InjuryReportController.getBodyPartList()){%>
        <option><%= bodyPart.getBodyPartName() %></option>
        <%} }%>
        <option >choose one...</option>
        </select>

        <input type="text" id="timeP" name ="timeOfInjury" value="01:00  AM">
        <textarea class ="description"  rows="120" cols="670" name="description"></textarea>

        <input id ="report" value="Submit Report" type ="submit">

        </form>

1 个答案:

答案 0 :(得分:1)

从代码的第5行末尾删除分号。

目前您所拥有的是这样的:

if (/*your conditions*/);        // <- note the semicolon
{
    ...
    return false;
}

这意味着带花括号的块与if语句没有关联,因此每次都会执行。显然,每次返回false取消每次提交。