4

次のように、いくつかの一意の入力フィールドと重複した名前を持つ他のいくつかの入力フィールドを含むフォームがあります。

<form method="post">
  Title: <input type="text" name="title" /><br />
  Content: <input type="text" name="content" /><br />
  Name: <input type="text" name="name" /><br />
  Email: <input type="text" name="email" /><br />
  Name: <input type="text" name="name" /><br />
  Email: <input type="text" name="email" /><br />
  Name: <input type="text" name="name" /><br />
  Email: <input type="text" name="email" />
</form>

したがって、「title」と「content」は単なる文字列値ですが、「name」と「email」は文字列の配列を宛先に送信します。これが私が欲しいものです。タイトルとコンテンツの値をテーブルに保存し、名前とメールの組み合わせを別のテーブルの行として保存します。

このフォームを標準的な方法で投稿すると(フォームタグで「action」パラメーターを指定するだけで)、値はASP.NETページに送信され、文字列および文字列配列として処理できます。理論的には、かなりの値になります。データベースに簡単に挿入できます。

ただし、アプリケーションでは、従来の方法でフォームを送信することはできません。代わりに、jQueryAJAXを使用してフォームを投稿する必要があります。

問題は、jQuery AJAXを使用して、配列値を維持しながら、従来のフォーム投稿の動作をどのように複製するかです。

フォーム値をシリアル化することは可能ですが、サーバー側のロジックを実行して、配列を逆シリアル化して効果的に作成する必要があります。これは追加の手順です。

標準形の投稿を行うときと同じように、jQuery AJAXを介して文字列配列を渡す際の動作を複製する方法を知っている人はいますか?

皆さん、ありがとう!

4

4 に答える 4

6

jQueryのserialize()関数は次のように使用できます。

<form method="post" id="testform">
  Title: <input type="text" name="title" /><br />
  Content: <input type="text" name="content" /><br />
  Name: <input type="text" name="name[]" /><br />
  Email: <input type="text" name="email[]" /><br />
  Name: <input type="text" name="name[]" /><br />
  Email: <input type="text" name="email[]" /><br />
  Name: <input type="text" name="name[]" /><br />
  Email: <input type="text" name="email[]" />
</form>

..。

$.post("test.php", $("#testform").serialize());
于 2012-06-02T18:25:55.873 に答える
1
$.ajax({

  url: "form.aspx", 
  data: $("form").serialize(),
  contentType: "application/json; charset=utf-8",
  dataType: 'json',
  method: 'POST',
  success: function() {

  }
});

について読ん.serialize()でください.ajax()。オプションもあります.serializeArray()

そして、簡単に言えば、あなたは$.post()

于 2012-06-02T18:29:27.607 に答える
0

jQueryの$.serializeまたは$.serializeArrayを使用してフォームフィールドをシリアル化し、次のようにajaxを使用して送信できます。

$.post('URL',$('form').serialize(),function(data){
     // success
})

$.postで詳細を読む

于 2012-06-02T18:25:32.650 に答える
0

これはjavascriptで必要です。すべてのデータを配列に入れ、ajaxデータ送信配列に入れることができます。サーバー側では、爆発させることができます。

   var myarray=array();
   myarray[]='mytestvaliye1';
   myarray[]='mytestvaliye2';
   myarray[]='mytestvaliye3';

   $.ajax( {
   url :  'myrurl',
   data : myarray, 
   success: function (){}
   }

   )
于 2012-06-02T18:28:59.943 に答える