2017-05-30 74 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 
    });