2011-07-31 11 views
0

私は送信ボタンを押すことなく、それらのいずれかのラジオボタンをクリックした後、私は、どのように行から一つのフィールドを更新するために、2つのラジオボタンPHPラジオボタン自動更新dbテーブル

<div align="center" class="radio_group"> 
    <input type="radio" id="gallerymenustyle1" class="element radio" name="gallerymenustyle[]" value="1" /> Gallery Link - In the navigation of my website, display one "gallery" link<br /> 
    <input type="radio" id="gallerymenustyle2" class="element radio" name="gallerymenustyle[]" value="2" /> Category Links - In the navigation of my website, display a separate link to each category. 
</div> 

がありますか?ここ

は私がこれまでに

$(function(){ 
      $(':radio').click(function(){ 
      if($(this).is(':checked')) 
       { 
        var galleryMenuStyleVal = $(this).val(); 
        $.ajax({ 
        type: 'POST', 
        url: '<?php echo BASE_URL; ?>ajax/ajax_methods_gallery.php', 
         data: 'showGalleryMenuStyleFromEditPage=' + galleryMenuStyleVal 
        }); 
       } 
      }); 
     }); 


if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){ 
    $userObj = new User(); 
    if($_POST['showGalleryMenuStyleFromEditPage'] == 1){ 
     $query = "UPDATE users SET gallery_menu_style = 1"; 
     $userObj->updateUserGalleryMenuStyle($query); 
    } else if ($_POST['showGalleryMenuStyleFromEditPage'] == 2){ 
     $query = "UPDATE users SET gallery_menu_style = 2"; 
     $userObj->updateUserGalleryMenuStyle($query); 
    } 
} 

持っているものですPHPのいくつかの部分を含む正しい私のjqueryのでしょうか?それは、この行で

答えて

1

を働いていない..because:

if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){ 

あなたが代わりに2番目の$ _POST値の 'showGalleryMenuStyleFromEditPage' の 'shoGalleryMenuStyleFromEditPage' を使用。したがって、最初のifステートメントを通過するものは許可されません。

また!= 0の代わりに!== 0を使用しました。短いキー/名前を使用すると、このような悪い考えではない理由、それはまだ動作していない場合は

これは...

で、あなたのjQueryのは、実際には何を送るかどうかを確認するためのFirebugを使用します。

+0

私がチェックした2つのラジオボタンに関係なく、gallery_menu_styleフィールドはテーブルから更新されません。( – sasori

+0

$ _POST変数を$ post1 = 1; $あなたができることは、あなたのJavaScriptをチェックすることです:.click(function()内のすべてのものを削除してください)は、JavaScriptが正しく動作していることを確認します。クリックしてラジオボタンが消えると、jQueryはクリックイベントを認識しますが、AJAXコールは認識しません – hohner

+0

firebugからコンソールをチェックしました。ポストタブにこのshowGalleryMenuStyleFromEditPageが表示されました。 = 2 ..または最初のラジオボタンを選択したときshowGalleryMenuStyleFromEditPage = 1 – sasori