我有一个简单的jquery,它将验证表单并提交表单:
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 :(得分:3)
重命名按钮,使其没有“提交”作为ID。
<input type="button" id="somethinghThatIsNotSubmit" value="Submit" onclick="submitForm()" />
答案 1 :(得分:0)
带有提交的输入元素调用onclick="submitForm()"
你想做什么?您是尝试将表单作为发布请求提交给服务器,还是仅通过单击按钮上的功能对其进行验证?
如果您尝试将数据发送到某处,则必须告诉它将发送到哪里:),除非您的服务器上有可以接受该位置的发布路径?
不确定你要做什么,jquery函数正在做它需要做的事情:))
你想要那个功能做什么?
$("#edit_pet_form").submit();
答案 2 :(得分:0)
由于您正在使用jQuery,因此您需要在文档准备就绪时调用您的函数:
$(document).ready (function () {
//Your code
});