jquery form.submit()无效

时间:2017-05-30 20:36:53

标签: jquery html forms jsp

我有一个简单的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();语句不起作用。任何想法?

3 个答案:

答案 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
  });