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>

この 2 つのフィールドの値をキャプチャしてデータベースに保存します。これは、フォームを送信することで実行できます。私の 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.getParameterValues問題は、JavaScipt または jQueryと同等のものは何かということです。p/s:<input>要素数は固定されていません。

4

1 に答える 1

0

name と 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 に答える