从jsp中的隐藏表单获取值以执行jquery post动作

时间:2014-07-22 06:18:10

标签: javascript jquery jsp

这是我的jsp代码:

<div align="center">
    <h1>New/Edit Contact</h1>
    <form:form action="saveContact" method="post" modelAttribute="contact">
    <table>
        <form:hidden path="id"/>
        <tr>
            <td>Name:</td>
            <td><form:input path="name" /></td>
        </tr>
        <tr>
            <td>Email:</td>
            <td><form:input path="email" /></td>
        </tr>
        <tr>
            <td>Address:</td>
            <td><form:input path="address" /></td>
        </tr>
        <tr>
            <td>Telephone:</td>
            <td><form:input path="telephone" id="phone" /></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="Save"  onclick = "PostData()"></td>
        </tr>
    </table>
    </form:form>
</div>

在按钮上单击我想在某个参数中获取文本框值并想要执行Jquery post。

JS:

    function PostData()
    {

        String firstname = request.getParameter("phone");
        alert(firstname);

    }

2 个答案:

答案 0 :(得分:0)

使用jquery,

function PostData()
{

    var firstname = $('#phone').val();
    alert(firstname);

}

将从该字段中获取值。其中#是使用ID选择的选择器,而电话是电话字段的ID ..以Jquery Tutorial开头

答案 1 :(得分:0)

有点不清楚你想要实现的目标。您想要在一个参数中提交所有值还是单独提交?你想发表一个表格还是真的做一个JS / jQuery POST?但是假设您的表单会有一些ID(例如myFormID)

function PostData() {
    var form = $('#myFormID')[0]; 
    var data = {};
    var dataString = "";

    for(var i=0; i<form.elements.length; i++) {
       var element = form.elements[i];
       data[element.name] = element.value; //assuming the name is set on each element
       dataString = (i>0 ? ";" : "") + element.value;
    }

    $.post("saveContact", data); //OR
    //$.post("saveContact", {mySomeParam:datastring}) // OR
    //alert(data);
    //alert(stringData)
    //form.submit(); 
}