0

私は、ユーザーが別のユーザーによってアップロードされた画像を評価できるようにするWebサイトを作成しています。私のコードはうまく機能しています。ユーザーには、画像、画像にフラグを付けるためのボタン、評価を選択するための10個のラジオボタン、および送信ボタン(すべて同じフォーム内)が表示されます。

私の問題は、ユーザーがラジオボタンをクリックしたときに送信ボタンを削除してフォームを処理したいということです。これに伴う問題は、フラグボタン(画像ボタン)もフォームを送信していることです。私のコードは以下の通りです:

HTML

<form name="ratebox" action="Box.php?bid=<?php echo $boxId ?>" method="post">
    <table style="margin: 0 auto;">
        <tr>
            <td colspan="2"><img src="img/boxes/<?php echo $boxId ?>.png" title="<?php echo $boxName ?>" height="350" width="350"></td>
        </tr>
    <tr>
    <input
        type="image"
        name="flag_submit"
        src="img/Flag.png"
        onmouseover="this.src='img/Flag_Click.png'"
        onmouseout="this.src='img/Flag.png'"
        height="30"
        width="30"
        />
        </td>
    </tr>
    <tr>
        <td colspan="2" style="text-align:center;">
            1<input type="radio" name="rdoRate" value="1" >
            2<input type="radio" name="rdoRate" value="2" >
            3<input type="radio" name="rdoRate" value="3" >
            4<input type="radio" name="rdoRate" value="4" >
            5<input type="radio" name="rdoRate" value="5" >
            6<input type="radio" name="rdoRate" value="6" >
            7<input type="radio" name="rdoRate" value="7" >
            8<input type="radio" name="rdoRate" value="8" >
            9<input type="radio" name="rdoRate" value="9" >
            10<input type="radio" name="rdoRate" value="10" > 
        </td>
    </tr>
    <tr><td colspan='4' align='center'><input type='submit' name='rate_submit' value='Rate'></td></tr>
</table>
</form>

PHP

if (isset($_POST['flag_submit_x']))
{
        //Code to process the flagged image
}

if (!empty($_POST['rate_submit']))
{
        //Code to process the rated image
}

ラジオボタンが押されたときにフォームを送信して、押されたラジオボタンの値を取得する方法はありますか?

4

3 に答える 3

2

はい、そのためにJavascriptを使用する必要があります。jQueryを使用して、

$('input[type=submit]').click(function(){
     return false;
});

$('input[type=radio]').click(function(){
    $('form').submit();
});

$ .ajax()を使用してPHPとの間で情報を転送する方法を学ぶ必要があります。これを読む。

于 2013-02-06T12:10:46.837 に答える
0

確かに、各ボタンにjs関数をアタッチして、ajaxまたはregularのいずれかで値をサーバーに送信させないのはなぜですか。

function submitRate(image_id, rating){
//here you would do the magic:)
//maybe grab other form fields or just the rating
}

とあなたのボタンでonclick="submitRate()"

于 2013-02-06T12:12:02.297 に答える
0

1)送信入力を削除します。

2)フォームの送信をfalseにします。

<form id="ratebox" name="ratebox" action="" method="" onSubmit="return false;">

3)送信ページに郵便番号を入力します。

$.post("Box.php?bid=<?php echo $boxId ?>", $("#ratebox").serialize());
于 2013-02-06T12:27:38.697 に答える