相当于javascript中的request.getParameterValues()

时间:2012-10-12 15:38:25

标签: javascript jquery jsp submit

例如,在表单中,我有两个或更多具有相同名称的元素,如下面的代码所示:

<form name="form1" method="post" action="saveToDb.jsp">
    <span id="feedBackList">
    <table>
        <thead>
            <tr>
                <td>column1</td>
                <td>column2</td>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><input type=text id=field1 name=field value="firstvalueTosavetoDb"></td>
                <td><input type text id="field2 name=field value="secondvalueTosavetoDb"></td>
            </tr>
        </tbody>
    </table>
    </span>
</form>

我希望捕获并将其保存到数据库的这两个字段的值。这可以通过提交表单来完成,在我的saveToDb.jsp文件中我只需要通过使用

来获取值
String[] value = request.getParameterValues("field"); 

循环遍历数组并将其保存到数据库。问题是我不想提交表单,因为页面会刷新。我想要实现的是,我想使用jQuery.get方法并传递值并查看值而不刷新页面并将其放在我的<span>标记中,如下面的代码

    var $p = jQuery.noConflict(){
    function submitAndView(){
        //here is where i should get the value
        var span = document.getElementById("feedBackList");
        $p.get("saveToDb",{pass the value here}, function(data){
            span.innerHTML = data
    });

}

问题是JavaScipt或jQuery中等同于request.getParameterValues的问题。 p / s:<input>元素的数量不固定。

1 个答案:

答案 0 :(得分:0)

你能为你的表单添加一个名称和onsubmit属性,调用一个验证JS函数,它循环遍历所有具有相同名称的字段,并为你构建一些类型的字符串或数组,以便轻松地向你的数据库添加信息吗? e.g:

<form name=form1 action='#' method=post onsubmit='return validateForm()'>
<fieldset>
<input type=text name='field[]' value='firstValue'>
</fieldset>
</form>

function validateForm(){
count = 0;
str = '';
for(x=0; x<document.form1.elements["field[]"].length; x++){
str += document.form1.elements["field[]"][x].value + ','
count++;
}
//submit form data