2

Http-request 本文に以下を投稿する HTML フォームが必要です。

{ “info” : {
     “id” : “123”
     “text1” : <comes from html text-box>
}

したがって、私が望むのは、上記を JavaScript オブジェクトとして作成し、この JavaScript オブジェクトを送信時に投稿することです。「text1」の値は、HTML 形式のテキストエリア入力ボックスであるユーザー入力から取得されます。最初の値「id」はハードコードされるか、非表示のテキスト ボックスから取得される可能性があります。

だから私の質問は、これを実現するためのJavaScriptを、対応するhtmlフォームなどと一緒に書くにはどうすればよいですか?

4

3 に答える 3

2

jQuery を使用してこれを行うのが最も簡単です。

まず、JavaScript オブジェクトをデータで初期化します。次に、jQuery を使用してテキスト ボックスからテキストを抽出し、オブジェクト内の目的のプロパティに割り当てます。

var data = { 
    "info": {
        "id":"123",
        "text1":"" 
    }
};

data.info.text1 = $("#yourTextBox").val();

次に、jQuery.ajax を使用してリクエストを作成できます。

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

投稿については、jQuery のドキュメントを参照してください: http://api.jquery.com/jQuery.post/

編集: インライン JavaScript を使用すると、HTML は次のようになります (フォーム データを取得するために jQuery を使用しません)。

<html>
<head>
<script>
var data = { 
    "info": {
        "id":"123",
        "text1":"" 
    }
};
function makeRequest()
{
    data.info.text1 = document.forms["frm1"]["fname"].value;

    $.ajax({
        type: "POST",
        url: url,
        data: data,
        success: success,
        dataType: dataType
    });
}
</script>
</head>
<body>

<form name="frm1" id="yourTextBox" onsubmit="makeRequest()">
<input type="text" name="fname">
<input type="submit" value="Submit">
</form>

</body>
</html>
于 2013-02-14T18:07:58.757 に答える
2
<html>
 <head>
  <script>
   function sendJson()
   {
   var x=document.forms["alfa"]["text1"].value;
   str1="{ 'info' : { 'id' : '123' 'text1' : ";
   str2=str1.concat(x);
   body=str2.concat(" }");
   document.forms["alfa"]["text1"].value=body;
   }
  </script>
 </head>
 <body>
  <form id="alfa" onsubmit="return sendJson()">
   Text1: <input id="text1" type=text size=50>
   <input type="submit" value="Submit">
  </form>
 </body>
</html>
于 2013-02-14T18:04:43.443 に答える
0

最善の方法はJSON.parse()を使用することです

于 2016-06-09T06:39:17.330 に答える