0

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

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

}

问题是request.getParameterValuesJavaScipt 或 jQuery 中的等价物。p/s:<input>元素数量不固定。

4

1 回答 1

0

您能否在表单中添加一个名称和 onsubmit 属性,调用一个验证 JS 函数,该函数循环遍历所有具有相同名称的字段并构造某种类型的字符串或数组,以便您轻松地将信息添加到您的数据库中?例如:

<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
于 2012-10-12T21:49:24.263 回答