0
チェックボックスをオンにすると、別のWebページに進むことができるフォームを作成しようとしています。チェックボックス(Javascript、jQuery)の動的状態を保存する際に問題が発生する
私の問題は、チェックボックスが状態を動的に保存しないことです。その結果、次のWebページに進むために、チェックボックスをオンにするたびにページを更新する必要があります。私のコードに追加する必要があるものはありますか?私はjavascript関数、SQLの状態を変更するPHPページ、および関数自体を呼び出す行を添付しました。
のJavascript機能:
//This function handles the clicking of checkboxes in the list
//It sends an ajax POST message to a separate php file that handles the database updating
function checkboxClicked(checkboxType, ticketNumber){
$.ajax({
type: "POST",
url: 'updateCheckbox.php',
dataType: 'json',
data: {checkboxType: checkboxType, ticketNumber: ticketNumber},
success: function(result, status){
if (status != "success"){
console.log("Status: " + status + ", Result: " + result);
}
}
});
}
PHPファイル(updatecheckbox.php)私は関数を呼び出す
<?php
header('Content-Type: application/json');
$conn = new COM("ADODB.Connection");
$strCnn = "Provider=sqloledb; Data Source=booty;Initial Catalog=booty;Trusted_Connection=Yes";
$conn->open($strCnn);
$strSQL = "UPDATE tblScantronTickets SET ".$_POST['checkboxType']."=";
$strSQL .= "(SELECT ~".$_POST['checkboxType']." FROM tblScantronTickets WHERE TicketNumber=".$_POST['ticketNumber'].")";
$strSQL .= " WHERE TicketNumber=".$_POST['ticketNumber'];
try {
$conn->Execute($strSQL);
}
catch(Exception $e) {
echo json_encode($e);
}
echo json_encode("SUCCESS!");
?>
PHPライン:
$strHTML .= "<td align='center'> <input type='checkbox' ".$received." class='receivedCheckbox' onchange='checkboxClicked(\"Received\", ".$ticketNumber.")'/> </td>\n";
このスクリプトは別のURLに見つけませんであれば、それをチェックし、偽れる場合、これはtrueを返します..私はあなたの質問を理解することはできません。チェックボックスをオンにした後にフォームを送信する必要がある場合は、ajaxの成功後に "form.submit"する必要があります。また、チェックボックスの状態を保存した後に別のページにリダイレクトする必要がありますか? –
あなたの質問はあまり明確ではありません。チェックボックスがフォーム内にある場合は、データベースを更新したかどうかにかかわらず、正しい状態で送信されます。あなたがしたいことを明確にしてください。 –
私はちょうど私のコードの一部を示しました。私がしたいのは、チェックボックスをオンにして、次のページに進むことができる場合です。それ以外の場合は、続行しないでください。現在、チェックボックスの状態を変更するたびにページを更新する必要があります。たとえば、チェックボックスのチェックが外されている場合は、確認してからページを更新してから続行する必要があります。私はそれが欲しいので、私はリフレッシュする必要はありません、ちょうどチェックボックスをクリックして行く。 –