1

私のajaxフォームには、いくつかのチェックボックスとメールアドレスのテキストボックスがあります。フォームは機能しますが、チェックボックスの配列とメールアドレスを同じ変数で送信できません。英語が下手でごめんなさい。これがjqueryコードです:

$(document).ready(function(){

$('#submit').click(function () {

var valore = { 'how_hear[]' : []}; 

$("input:checkbox:checked").each(function() {
  valore['how_hear[]'].push($(this).val());
}); // Checkboxes value

var name = $('input:text');

//phpに送信するデータの編成。問題はここにあると思いますが、解決できません!!!

var data = 'name=' + name.val() + '&check=' valori;

$.ajax({
                type:'POST',
                url:'myurl.php',
                data:  data, // If i send only the variable "name" or only the variable "valore", it works fine!
                cache: false,
                success:function (data) {
                    $('form').append('GIUSTO!!!!');
                }
        });

    return false;
    });

});

なにか提案を?ありがとう!

4

2 に答える 2

0

serializeArray()またはserialize()メソッドを使用できます。

于 2012-07-02T10:38:30.817 に答える
0

サーバーへのデータの送信

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

デフォルトでは、Ajax リクエストは GET HTTP メソッドを使用して送信されます。POST メソッドが必要な場合は、type オプションの値を設定することでメソッドを指定できます。このオプションは、データ オプションの内容がサーバーに送信される方法に影響します。POST データは、W3C XMLHTTPRequest 標準に従い、常に UTF-8 文字セットを使用してサーバーに送信されます。

The data option can contain either a query string of the form key1=value1&key2=value2, or a map of the form {key1: 'value1', key2: 'value2'}. 後者の形式を使用する場合、データは送信前に jQuery.param() を使用してクエリ文字列に変換されます。この処理は、processData を false に設定することで回避できます。XML オブジェクトをサーバーに送信する場合、この処理は望ましくない場合があります。この場合、contentType オプションを application/x-www-form-urlencoded からより適切な MIME タイプに変更します。

于 2012-07-02T10:53:20.703 に答える