0

私は人々が彼らのクライアントを入れるフォームを持っています。

このフォームを使用すると、ユーザーは必要な数の電話番号、電子メール、およびアドレスを追加できます。

電話と電子メールには、追加された各行のタイプとデータのフィールドがあり(phone_type, phone_data)、住所には、各行のタイプ、通り、都市、州、および郵便番号のフィールドがあります(address_type, address_street, address_city, address_state, address_zip)

したがって、たとえば、ユーザーが電話フィールドを追加すると、次のように追加されます。

<input type="text" name="phone_type[]" />
<input type="text" name="phone_data[]" />

フォームデータをAjax経由でPHPに送信して、処理してデータベースに保存する必要があります。

オブジェクト内の配列に格納することを考えました。

phone = new Object();
var phone.data = new Array(), 
phone.type = new Array();
$("input[name='phone_data[]']").each(function() {
  if($(this).val() != '') {
  phone.data.push($(this).val());
  phone.type.push($('select[name="phone_type[]"]').val());
})

これはうまくいかないようです。私もこれに正しく近づいていますか?

また、Ajaxを介してPHPページに送信するオブジェクトにそれを取得したら、値を取得するにはどうすればよいですか?

4

3 に答える 3

3

フォームをシリアル化... dataajaxを使用してシリアル化データをサーバーに送信...

 data:$('#YourFORMID').serialize();

ここにドキュメンテーションがあります。例を見てください...

http://api.jquery.com/jQuery.post/

PHPでデータを取得する(投稿としてajaxタイプを使用している場合)

 $data=$_POST['phone_data'];
 $type=$_POST['phone_type'];

もしもajax type : GET

 $data=$_GET['phone_data'];
 $type=$_GET['phone_type'];
于 2012-12-12T05:10:08.833 に答える
1

jQueryのserialize()を再発明しようとしていますか

var frm = $("#myForm");
var values = frm.serialize();

//make Ajax call
$.post("someUrl", values, function(){} );

http://jsfiddle.net/BZcja/

于 2012-12-12T05:07:48.130 に答える