2017-04-15 11 views
0

チェックボックスの1つがオンになっているときに送信ボタンなしでPOSTデータを送信したい - USING AJAX。チェックボックスがチケットのときに送信 - 送信ボタンなし

私はこのチェックボックスをオンにすると、ポストされたデータ(知っていること、それが働いている)を警告する必要がありますが、何の反応も得られないと思います。それは、コード機能のエラーのいくつかの種類がありますので、私は... jqueryのを追加しました

<form method="post" name="form1"> 
    <input type="checkbox" name="checkboxList[]" value="1">value1</input> 
    <input type="checkbox" name="checkboxList[]" value="2">value2</input> 
    <input type="checkbox" name="checkboxList[]" value="3">value3</input> 
</form> 

<script> 

jQuery(document).ready(function($){ 

    // jQuery code is in here 
    $("input[type=checkbox]").on("click", function() { 

    var data = $(this).val(); 
    console.log(data); // 1, 2 or 3 (value) 
    $.ajax({ 
     url: "<?php echo JURI::getInstance(); ?>", // URL should be correct! 
     type: "POST", 
     async: true, 
     cache: false, 
     data: {data: data}, 
     dataType: 'text', 
     success: function(data){ 
      alert(data); 
     } 
    }); 
    }); 

}); 




</script> 

問題:

+0

成功したコールバック関数がありますが、エラーコールバック関数も必要です。同様に 'success:function(){alert(data);}'の代わりに 'error:function(data)...' –

+1

'x.php'コードも共有していますか? – C2486

+0

@Niklesh x.phpにはprint_r($ _ POST)のみが含まれています。もちろん、私は空の配列を取得します。 – JohnCoolGuy1996

答えて

0

は1削除以下のようにHTMLを変更して成功法上のページのHTMLコンテンツの取得、値ではなく</input>とJS

の変化2.変更フォーム name id

<form method="post" id="form1"> 
    <input type="checkbox" name="checkboxList[]" value="1">value1 
    <input type="checkbox" name="checkboxList[]" value="2">value2 
    <input type="checkbox" name="checkboxList[]" value="3">value3 
</form> 

変更

var data = $("#form1").serialize(); 

あなたのフォームは選択されておらず、投稿に空白のデータがありました

0

下記のコードを試してください。

<form method="post" name="form1"> 
    <input type="checkbox" name="checkboxList[]" value="1">value1</input> 
    <input type="checkbox" name="checkboxList[]" value="2">value2</input> 
    <input type="checkbox" name="checkboxList[]" value="3">value3</input> 
</form> 

<script> 
    $("input[type=checkbox]").on("click", function() { 
     var data = $("form").serialize(); 
     $.ajax({ 
      url: "../../x.php", // URL should be correct! 
      type: "POST", 
      async: true, 
      cache: false, 
      data: {data: data}, 
      dataType: 'json', 
      success: function(response_data){ 
       alert(response_data); 
      } 
     }); 
    }); 
</script> 
+0

アラートが表示されません。 URLは何とか間違っている可能性がありますか? – JohnCoolGuy1996

+0

ブラウザのコンソールでチェックしましたか?それは何がうまくいかないのを助けるでしょう。 –

+0

コンソールに 'JQMIGRATE:Migrate is installed、version 1.4.1'と表示されますが、チェックボックスをオンにすると表示されません。 – JohnCoolGuy1996

関連する問題