2016-07-12 6 views
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"; 
+0

このスクリプトは別のURLに見つけませんであれば、それをチェックし、偽れる場合、これはtrueを返します..私はあなたの質問を理解することはできません。チェックボックスをオンにした後にフォームを送信する必要がある場合は、ajaxの成功後に "form.submit"する必要があります。また、チェックボックスの状態を保存した後に別のページにリダイレクトする必要がありますか? –

+0

あなたの質問はあまり明確ではありません。チェックボックスがフォーム内にある場合は、データベースを更新したかどうかにかかわらず、正しい状態で送信されます。あなたがしたいことを明確にしてください。 –

+0

私はちょうど私のコードの一部を示しました。私がしたいのは、チェックボックスをオンにして、次のページに進むことができる場合です。それ以外の場合は、続行しないでください。現在、チェックボックスの状態を変更するたびにページを更新する必要があります。たとえば、チェックボックスのチェックが外されている場合は、確認してからページを更新してから続行する必要があります。私はそれが欲しいので、私はリフレッシュする必要はありません、ちょうどチェックボックスをクリックして行く。 –

答えて

0

あなたの問題は、取得する場合次のページに進む前にチェックボックスをオンにすると、jQueryを使用できます。

$('#checkbox').is(':checked'); 

それはない

関連する問題