1

無線値の更新に問題があります。送信ボタンを使用してフォームを送信すると正常に動作しますが、javascript を使用すると値がデータベースで更新されません。そして、私はjquery mobileを使用しています。誰でも助けることができますか?ありがとう!

更新されたコード、最初の 3 つのラジオ ボタンのみが機能するようになりました

タスクごとに 3 つのラジオ ボタンを動的に生成します。

<?php
 include 'connection.php';

 $query = "SELECT*FROM plan";
 $result = mysql_query($query);
 $num = mysql_numrows($result);

  mysql_close();

  $i=0;
 while ($i < $num) {
    $id=mysql_result($result, $i, "id");
    $task=mysql_result($result, $i, "task");
 $state=mysql_result($result, $i, "state");
?>

<form id="formnobtn" action="nobtn.php" method="POST" data-ajax="false">
<input type="hidden" name="id" value="<? echo "$id";?>">
<input type="radio" name="r" id="rA" value="A" class='custom' data-theme="a" <?php if ($statE == 'A'): ?>checked='checked'<?php endif; ?>><label for="rA">&nbsp;</label>
<input type="radio" name="r" id="rB" value="B" class='custom' data-theme="c" <?php if ($statE == 'B'): ?>checked='checked'<?php endif; ?>><label for="rB">&nbsp;</label>
<input type="radio" name="r" id="rC" value="C" class='custom' data-theme="f" <?php if ($statE == 'C'): ?>checked='checked'<?php endif; ?>><label for="rC">&nbsp;</label>
<div data-role="collapsible" name="ud_c" value=" <?echo "$task";?> "><h3><?echo "$task";?></h3></div>
</form>

<?php
   $i++;
 }
?>

ラジオボタンのチェックでフォームを送信する必要があるjavascript:

$(document).ready(function() {
$('input[type="radio"]').click(function(){
    if ($(this).is(":checked"))
    $('form#formnobtn').submit();
});
})

データベースを更新する:

<?php
$id = $_POST['id'];
if (isset($_POST['r'])){    
    $state = $_POST['r'];                
    echo $state;
    include 'connection.php';
    $query= "UPDATE plan SET state='$state' WHERE id='$id'";
            mysql_query($query);
            mysql_close();
            header('Location: nobtn.php');
}
?>
4

1 に答える 1

0

これを試してください:-

ラジオボタンのチェック値に非表示の値を作成しました。フォームポストでラジオボタンのチェック値を送信します。ここで id を使用した理由がわかりません。そのため、php コードで $radio_checked_id 変数を作成しています。

タスクごとに 3 つのラジオ ボタンを動的に生成します。

<form id="formnobtn" action="nobtn.php" method="POST" data-ajax="false">
<input type="hidden" name="id" value="<?php echo $id =(isset($id)) ? $id : '';?>">
<input type="radio" name="r" id="rA" value="A" class='custom' data-theme="a" <?php if ($statE == 'A'): ?>checked='checked'<?php endif; ?>><label for="rA">&nbsp;</label>
<input type="radio" name="r" id="rB" value="B" class='custom' data-theme="c" <?php if ($statE == 'B'): ?>checked='checked'<?php endif; ?>><label for="rB">&nbsp;</label>
<input type="radio" name="r" id="rC" value="C" class='custom' data-theme="f" <?php if ($statE == 'C'): ?>checked='checked'<?php endif; ?>><label for="rC">&nbsp;</label>
<div data-role="collapsible" name="ud_c" value="<?php echo  $task =(isset($task)) ? $task : '';?>"><h3><?php echo  $task =(isset($task)) ? $task : '';?></h3></div>
<input type="hidden" name="checked_id" id="checked_id" value="">
</form>

ラジオボタンのチェックでフォームを送信する必要があるjavascript:

$(document).ready(function() {
$('input[type="radio"]').click(function(){
  var checked_radio_id = $(this).val();
      $('#checked_id').val(checked_radio_id);
    }
$('form#formnobtn').submit();
});
})

データベースを更新する:

<?php
$submit = $_POST['submit'];
$id = $_POST['id'];
$radio_checked_id = $_POST['checked_id'];
if($submit){
if (isset($_POST['r'])){    
    $state = $_POST['r'];                
    echo $state;
    include 'connection.php';
    $query= "UPDATE plan SET state='$state' WHERE id='$id'";
            mysql_query($query);
            echo "Record Updated";
            mysql_close();
            header('Location: nobtn.php');
}

else {
    echo "Please select a radio button!";
}
}
?>

次の行が正しいかどうかはわかりませんが、「送信」は実際には送信ボタンがある場合の送信ボタンの名前ですが、修正方法がわかりません..

$submit = $_POST['submit'];
于 2013-01-14T12:05:06.027 に答える