2017-05-30 26 views
0

我有一個簡單的jQuery將驗證表單並提交形式:jQuery的form.submit()不工作

function submitForm() 
{ 
    var name = $('#name').val(); 
    if (name === "") 
    { 
     alert("Please fill in name."); 
     $("#name").focus(); 
    } 
    else 
    { 
     alert("Submit form"); 
     //document.getElementById("edit_pet_form").submit(); 
     $("#edit_pet_form").submit(); 
    } 
} 

下面是我的形式:

<form action="EditPet" method="POST" name="edit_pet_form" id="edit_pet_form"> 
<table style="text-align: left;"> 
    <tr> 
     <td align="left"> 
      Name: 
     </td> 
     <td align="left"> 
      <input type="text" id="name" name="name" size="20" value="${pet.name}" autofocus="true" /> 
     </td> 
    </tr> 
    <tr> 
     <td align="left"> 
      Gender: 
     </td> 
     <td align="left"> 
      <input type="radio" name="gender" id="gender" value="M" ${pet.gender == 'M' ? "checked":""} />Male 
      <input type="radio" name="gender" id="gender" value="F" ${pet.gender == 'F' ? "checked":""} />Female 
     </td> 
    </tr> 
    <tr> 
     <td> 
      Type: 
     </td> 
     <td> 
      <select name="type" id="type"> 
       <option value="D" ${pet.type == 'D' ? "selected":""}>Dog</option> 
       <option value="C" ${pet.type == 'C' ? "selected":""}>Cat</option> 
       <option value="H" ${pet.type == 'H' ? "selected":""}>Hamster</option> 
       <option value="B" ${pet.type == 'B' ? "selected":""}>Bird</option> 
       <option value="R" ${pet.type == 'R' ? "selected":""}>Reptile</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      Owner: 
     </td> 
     <td> 
      <select name="owner" id="owner"> 
       <c:forEach items="${customerList}" var="customerList"> 
        <option value="${customerList.username}" ${pet.owner.username == customerList.username ? "selected":""}>${customerList.name}</option> 
       </c:forEach> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2" align="center"> 
      <input type="button" id="submit" value="Submit" onclick="submitForm()" /> <input type="hidden" name="petId" value="${pet.id}"> 
     </td> 
    </tr> 
</table> 
</form> 

我不能發現任何錯誤與我的HTML表單以及jQuery。 jQuery的一切運作良好的其他部分,警告對話框將顯示,只有$("#edit_pet_form").submit();聲明不工作。任何想法?

+0

的ID必須是唯一的('gender'),以及爲什麼要使用JavaScript的驗證和不是在表單驗證中生成? – Andreas

回答

2

重命名你的按鈕,所以它沒有「提交」作爲ID。

<input type="button" id="somethinghThatIsNotSubmit" value="Submit" onclick="submitForm()" /> 
+0

我從來不知道按鈕的ID不能被「提交」後,我將其重命名它的作品,太感謝你了! – Newbie

0

你提交的輸入元素調用onclick="submitForm()" 你想做什麼?您是否嘗試將表單提交給服務器作爲發佈請求,或者只是通過點擊按鈕上的功能驗證它?

如果你想將數據放到你必須告訴它在哪裏發送到發送到:),除非你有你的服務器上的佈線後,可以接受的位置?

不知道你想做什麼,jQuery函數是做什麼的,它需要雖然:)

什麼是你想要的功能呢?

$("#edit_pet_form").submit(); 
0

由於您使用jQuery,你需要調用你的函數,當文檔準備好:

$(document).ready (function() { 
    //Your code 
    });