我有一个简单的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();
声明不工作。任何想法?
的ID必须是唯一的('gender'),以及为什么要使用JavaScript的验证和不是在表单验证中生成? – Andreas