例如,在表单中,我有两个或更多具有相同名称的元素,如下面的代码所示:
<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>
元素的数量不固定。
答案 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