2016-04-03 10 views
0
<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".Categories").click(function() { 
      var catId = $(this).attr('id'); 
      catId = String(catId); 

      jQuery.ajax({ 
       url: "index.php", 
       data: { catId }, 
       type: "POST", 
       success: function (data) { 
        $("#categoryField").html(data); 
       } 
      }); 
     }); 
    }); 
</script> 

は、私は同じindex.phpページに私のクリックされたボタンidを渡す必要があり、同じページにあるボタンのIDを渡すと、そのid value.Myコードで動作するには、間違っています。ここでのJs:ページが二度目にレンダリングされるため、ページ更新せず、

私のPHPコードは次のとおりです。

... 
$(".Categories").click(function (e) { 
    e.preventDefault(); 
... 
+1

実行可能なデモ/スニペットや[JSFiddle](https://jsfiddle.net/)を共有できますか? – Rayon

+0

コンソールにエラーがありますか?ページがリロードされていますか? – Rayon

答えて

0

コールpreventDefault方法コードに構文エラーがあります

$(document).ready(function() { 
    $(".Categories").click(function() { 
     var catId = $(this).attr('id'); 
     catId = String(catId); 

     jQuery.ajax({ 
      url: "index.php", 
      data: { catId: catId }, 
      type: "POST", 
      success: function (data) { 
       $("#categoryField").html(data); 
      } 
     }); 
    }); 
}); 

有効なリテラルオブジェクト形式でデータを渡す必要があります。 {"property_name": "property_value"}。

変更:データ:{CATID}データへ:{ "CATID":CATID}サーバ側の場合

<? 

if (isset($_POST['catId'])) { 

    /* YOUR CODE FOR CATEGORY */ 

    $catId = intval($_POST['catId']); 

    echo 'SUCCESS'; 

    exit(0); 
} 

// YOU OTHER PHP CODE 
?> 
0

:デフォルトのボタンの動作を防止するためのボタンclickイベントハンドラ( "ページが二度目にレンダリングされる")内部

<?php 
$category=$user_home->runQuery("SELECT DISTINCT category FROM products"); 
$category->execute(); 

$categoryArray=$category->fetchAll(PDO::FETCH_ASSOC); 

    foreach($categoryArray as $listID){ 
?> 

<input type="button" id="<?php echo $listID['category']?>" class="Categories" value="<?php echo $listID["category"]?>"/><br> 
<? 

} 
?> 
+0

しかし、私はまだその変数を掲示した後に、私の主な問題を抱えています。すべてのページコンテンツを '" #categoryField "' idで2回目にしています。多分、私は可能であれば 'success:'セクションなしで変数を渡す必要があります – Darius92

+0

問題を理解するためのサンプルと情報が必要です –

+1

データを同じページだけに送信したい場合は、PHPファイルあまりにも。まず、あなたのページにajaxクエリをキャッチする必要があります。例:if($ _POST ['catId']){/ *あなたのコード* /;エコー 'SUCCESS'; exit(0)}。このようなもの... –

0

私は別のものに私の変数を投稿する必要があると思います同じページでこれを行う方法はわかりません。exit(0)のこの変種は、の文内のすべての変数がexit(0)の後に削除されるため、悪いです。

<? 

if (isset($_POST['catId'])) { 

    /* YOUR CODE FOR CATEGORY */ 

    $catId = intval($_POST['catId']); 

    echo 'SUCCESS'; 

    exit(0); 
} 

// YOU OTHER PHP CODE 
?> 
関連する問題