5

私の Web サイトには、各回答の横にラジオ ボタンを表示する投票があります。ユーザーがオプションを選択して送信すると、ajax を介して php スクリプトを実行し、値または選択したラジオ ボタンをテーブルに挿入します。

私のAjaxは実行中ですが、現在各行に0行を挿入しているため、ラジオボタンから値を取得していません。どんな助けでも大歓迎です。

HTML:

<form id="poll_form" method="post" accept-charset="utf-8">  
    <input type="radio" name="poll_option" value="1" id="poll_option" /><label for='1'>&nbsp;Arts</label><br />
    <input type="radio" name="poll_option" value="2" id="poll_option" /><label for='2'>&nbsp;Film</label><br />
    <input type="radio" name="poll_option" value="3" id="poll_option" /><label for='3'>&nbsp;Games</label><br />
    <input type="radio" name="poll_option" value="4" id="poll_option" /><label for='4'>&nbsp;Music</label><br />
    <input type="radio" name="poll_option" value="5" id="poll_option" /><label for='5'>&nbsp;Sports</label><br />
    <input type="radio" name="poll_option" value="6" id="poll_option" /><label for='6'>&nbsp;Television</label><br />    
    <input type="submit" value="Vote &rarr;" id="submit_vote" class="poll_btn"/> 
</form> 

AJAX:

    $("#submit_vote").click(function(e)
    { 
    var option=$('input[type="radio"]:checked').val();
    $optionID = "="+optionID;

    $.ajax({
        type: "POST",
        url: "ajax_submit_vote.php",
        data: {"optionID" : $optionID}
    });
});

PHP: (短縮版)

    if($_SERVER['REQUEST_METHOD'] == "POST"){

    //Get value from posted form
    $option = $_POST['poll_option'];

    //Insert into db
    $insert_vote = "INSERT into poll (userip,categoryid) VALUES ('$ip','$option')";

前もって感謝します!

4

3 に答える 3

9
$("#submit_vote").click(function(e){ 

    $.ajax( {
      type: "POST",
      url: "ajax_submit_vote.php",
      data: $('#poll_form').serialize(),
      success: function( response ) {}
    });

});

次に、PHP スクリプトで POST 変数「poll_option」にアクセスできるようにする必要があります。

于 2013-04-04T14:49:29.760 に答える
2
var option = $('input[type="radio"]:checked').val();

$.ajax({
    type: "POST",
    url: "ajax_submit_vote.php",
    data: { poll_option : option }
});

したがって、読んでいる PHP では、データ オブジェクトのキーとして$_POST['poll_option']使用する必要があります。また、使用しようとしていた値はnotにpoll_option格納されます。option$optionID

$Javascript の変数名で有効な文字であり、それ自体は特別なことは何もしませんが、一部のコーダーは jQuery オブジェクトであるすべてのものに接頭辞を付けて$、コードを一瞥し、どの変数がすでに jQuery ラッパーを持っているかを簡単に確認できるようにします。

例えば:

var $option = $('input[type="radio"]:checked'); // $option is the jQuery wrapped HTML element
var myValue = $option.val(); // we know $option already has the jQuery wrapper so no need to use the $(..) syntax.
于 2013-04-04T14:49:53.640 に答える
0
  $optionID = "="+optionID;

ここで何をしようとしているのかよくわかりません.oO.javascriptでは、を使用して変数を定義しません$.

data: { optionID : option}

このように使用するとうまくいくはずです。PHP では次のように取得します。

$option_value=$_POST['optionID'];
于 2013-04-04T14:43:40.437 に答える