3

同じ名前の複数のフィールドを持つフォームを作成しました:

<form ... >
<input type=text name="problem"  value="problem1" />
<input type=text name="question" value="question1" />
<input type=text name="answer"   value="answer1" />

<input type=text name="problem"  value="problem2" />
<input type=text name="question" value="question1" />
<input type=text name="answer"   value="answer1" />
<input type=text name="question" value="question2" />
<input type=text name="answer"   value="answer1" />
<input type=text name="answer"   value="answer2" />
...
<input type=hidden name="jsonString" value="" />

<input type=submit value="Send" />
</form>

これらのフィールドは、JavaScript によって動的に追加/削除できます

非表示フィールドに文字列 (JSON.strinfigy を使用) を入力し、送信する前にこれをフォームに渡したいと思います。

{
    problem: [  
        {   
            name: problem 1, 
            question: [
                {
                    name: question 1,
                    answer: [
                        name:answer1
                    ]
                }
            ]
        },

        {   
            name: problem 2, 
            question: [
                {
                    name: question 1,
                    answer: [
                        name:answer1
                    ]
                },  
                {
                    name: question 2,
                    answer: [
                        name:answer1,
                        name:answer2
                    ]
                }   
            ]
        }       
    ]
}

それを行うためのアイデアはありますか?ありがとう

ロブ

4

1 に答える 1

0

これからjsonをシリアライズする方法はありません。次のように、簡単に作成してみてください。

var myJson;
$("input[name=problem]").each(function(){
   myJson.Push( { "name": $this.val()});
});

( adding-removing-items-from-json-data-with-jqueryフォームのその他の指示を参照)

于 2012-10-15T08:19:28.703 に答える