2016-05-04 19 views
1

私はAJAXを使用して選択入力で選択された要素の値を取得し、入力チェックボックスのフィールドを返すPHPスクリプトを起動します。ここで

が、それは次のようになります。

HTML

<form method="post" action="liens_chra.php" name="Form" id="Form"> 

    <label for="id_turbo">Turbo</label> 
    <select name="id_turbo" size="1" id="id_turbo"> 
     <option value="10970">TM1761178</option> 
     <!-- and more --> 
    </select> 

    <div id="choix_reffab"> 
     <!-- checkboxes appear here --> 
    </div> 
    <p class="form "> 
     <input type="submit" name="valider" value="Enregistrer"> 
    </p> 

    <!-- something I tried too 
    <input type="button" id="submitevent" value="Enregister"> 

    <script type="text/javascript" > 
     $('#submitevent').click(function() { 
      $("#Form").submit(); 
     }); 
    </script> --> 
</form> 

jQueryの/ AJAX

$("#id_turbo").change(function(){ 
    var id_turbo = $("#id_turbo").val(); 
    $.ajax({type: "POST", 
     url: "<?=URLSITEWEB;?>admin/outils/ajax/liste_Reffab.php", 
     data: "id_turbo="+id_turbo+"", 
     error: function(){ 
      /*alert(id_famille+" \n ne passent pas.");*/ 
     }, 
     success: function(data){ 
      $("#choix_reffab").html(data); 
     } 
    }); 
}); 

PHP

/* things */ 
foreach ($fabTab as $fab) { 
    $chaine .= '<input type="checkbox" "name=tabreffab[]" id="'.$fab.'" value="'.$fab.'" /><label for="'.$fab.'">'.$fab.'</label>'; 
} 
echo $chaine; 

ので、ユーザーが値を選択したとき、いくつかのチェックボックスが表示されます。 私の問題は、私が欲しいデータは$ _POSTに転送されていないということであり、ここではその結果である:

var_dump($_POST['tabreffab']) // is NULL, others values are ok 

私はAJAX & jQueryのにかなり新しいので、私は何をすべきか見当がつかない。私はJQueryを使用してフォームを送信しようとしましたが、変更はありませんでした。

+4

以下のような上記の書き込みのInstedは今、あなたはあなただけのAJAX要求を送信するものPHPで取得するには、AJAXを使用してデータを送信していることを覚えておいてください。つまり、送信しているのは 'data:"です。id_turbo = "+ id_turbo +" "、' {id_turbo:$( "#id_turbo")}と書かれています。チェックボックスをチェックして ':checked'と' id_turbo'の値をすべて渡します – RiggsFolly

+1

これはおそらくあなたのコードを修正するのに役立ちますhttp://stackoverflow.com/questions/2155622/get-a-list-of-checked- checkbox-in-a-divを使用しているjquery – RiggsFolly

答えて

1

エディタで値に

試みを選択するには$ _POST []で表示されます - これを書くための正しい方法は、あなたが使用したものではないとしてdata:{id_turbo:"id_turbo_value"}ですチェックボックスを返すと、間違いは要素の名前プロパティにあります。あなたのコードで

"name=tabreffab[]"name = "tabreffab[]"

$のCHAINEと交換= '' $ファブを。。 ''。;

コード

$chaine .= '<input type="checkbox" name = "tabreffab[]" id="'.$fab.'" value="'.$fab.'" /><label for="'.$fab.'">'.$fab.'</label>'; 
-1

問題は、Ajaxコール、具体的にはdataの部分にあります。それはjsonのフォーマットされたオブジェクトを取ります。 data: "id_turbo="+id_turbo+""

+0

'id_turbo_value'の前後に引用符があるのは、' id_turbo_value'という文字列を 'id_turbo'の値として渡すのはなぜですか...? – webeno

+1

それは彼の問題ではありません。 – RiggsFolly

+1

あなたは 'data'に文字列を渡すことはできませんでした。私は将来私のような人のために答えを残しています。引用符は、引用符で囲む必要があることを示すものです。 - キーには当てはまらないもの(id_turbo_VALUE)は、変数名ではなく実際の値を表すことです。 –

0

チェックボックスを値が唯一私が得た

<?php 
    echo "<pre>"; 
    print_r($_POST); 
?> 

<form id="sampleName" name ="sampleName" method="post" action=""> 
    <textarea id="testID" name="textAreaName"></textarea> 
    <input type="text" name="text1" /> 
    <input type="checkbox" name="check" value="1"/> 
    <input type="checkbox" name="check" value="2"/> 
    <input type="checkbox" name="check" value="3"/> 
    <input type="submit" value="submit"> 
</form> 
+0

これは彼が求めたものでも問題でもありません。 –

関連する問題