1

我有一个运行良好的 jQuery ajax 调用,直到我添加了表单验证。现在验证有效,但 ajax 调用无效,虽然我没有碰过它并且发送的参数似乎没问题。

jQuery代码是:

$j('#leapYearBtn').click(function()
{
    $j('td#calcResMsg').html('');
    $j('#leapYearForm').validate({
        errorPlacement: function(error, element){
        error.appendTo(element.parent('td').next('td'));
    }
    });
    if($j('#leapYearForm').validate().element("#leap_year") == true)
    {
        var fctSelect = 2;
        var year = $j("#leap_year").attr("value");
        alert(fctSelect);
        $j.ajax({
            url: "ajax/clcDates.php",
            type: "POST",
            data: {fctSelect: 2, yr: year},
            success: function(output){
            $j('td#calcResMsg').text(output);
        }});
    }       
});

HTML 表单:

<form id="leapYearForm">        
   <table>
       <tr>
           <td>Enter year</td>
           <td>
               <input class="required positiveNumber" type="text" name="leap_year" 
               id="leap_year" value="" />
           </td>
           <td class="validatorErrMsg"></td>
           <td id="calcResMsg" class="calc_resMsg">/td>
       </tr>
       <tr>
           <td>&nbsp;</td>
           <td>
              <button id="leapYearBtn">Check</button>
           </td>
       </tr>
    </table>
</form>

添加验证时,我既没有更改 php 函数也没有更改 ajax 调用,但它不再起作用。有人可以帮我找出原因吗?

我怀疑这与我必须将表格包装在一个表格中的事实有关,这可能会以某种方式影响行为并导致甚至没有进行 ajax 调用。

非常感谢

4

0 回答 0