2016-04-06 36 views
0

私は借りボタンの検証を作成しようとしていますが、押されてもチェックされていないアイテムはないので、プロンプトを表示するはずですが、プロンプトが表示されず、明らかにデータベースに保存されません。どうすればこれをやろうとしますか?チェックボックスがチェックされているかどうかを確認する方法

以下はjavascriptのコードです。

$(".uniform_on").change(function(){ 
    var max = 1; 
    if ($(".uniform_on:checked").length < max) { 
     $(".uniform_on").attr('disabled', 'disabled'); 
     alert('Please Check the item of equipment to be borrowed!'); 
     $(".uniform_on:checked").removeAttr('disabled'); 
    } else { 
     $(".uniform_on").removeAttr('disabled'); 
    } 
}) 

を(これも右である場合、私は知らない)私は自分でコードをカスタマイズするので、私は、コードのほとんど知りません助け、私はもののこの種の限られた知識を持ってしてください。チェックボックスをチェックせずに借用ボタンを押すとどうなりますか?これを検証して、ユーザーが何かを最初にチェックしてから、再度借りることを確認します。ありがとう。

これは私の借用のために全体のコード

<?php include('header.php'); ?> 
<?php include('session.php'); ?> 
<?php include('navbar_borrow.php'); ?> 
    <div class="container"> 
     <div class="margin-top"> 
      <div class="row"> 
           <div class="alert alert-info"> 
            <button type="button" class="close" data-dismiss="alert">&times;</button> 
            <strong><i class="icon-user icon-large"></i>&nbsp;Borrow Table</strong> 
           </div> 

     <div class="span12">   

     <form method="post" action="borrow_save.php"> 
<div class="span3"> 

              <div class="control-group"> 
       <label class="control-label" for="inputEmail">Borrower Name</label> 
       <div class="controls"> 
       <select name="member_id" class="chzn-select"required/> 
       <option></option> 
       <?php $result = mysql_query("select * from member")or die(mysql_error()); 
       while ($row=mysql_fetch_array($result)){ ?> 
       <option value="<?php echo $row['member_id']; ?>"><?php echo $row['firstname']." ".$row['lastname']; ?></option> 
       <?php } ?> 
       </select> 
       </div> 
      </div> 
       <div class="control-group"> 
        <label class="control-label" for="inputEmail">Due Date</label> 
        <div class="controls"> 
        <input type="text" class="w8em format-y-m-d highlight-days-67 range-low-today" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" required/> 
        </div> 
       </div> 
       <div class="control-group"> 
        <div class="controls"> 

           <button name="delete_student" class="btn btn-success"><i class="icon-plus-sign icon-large"></i> Borrow</button> 

        </div> 
       </div> 
       </div> 
       <div class="span8"> 
         <div class="alert alert-success"><strong>Select Equipment</strong></div> 
          <table cellpadding="0" cellspacing="0" border="0" class="table" id="example"> 

           <thead> 
            <tr> 

             <th>Acc No.</th> 
             <th>Equipment Description</th>         
             <th>Category</th> 
             <th>Quantity</th> 
             <th>status</th> 
             <th>Add</th> 

            </tr> 
           </thead> 
           <tbody> 

            <?php $user_query=mysql_query("select * from equipment where status != 'Archive' ")or die(mysql_error()); 
            while($row=mysql_fetch_array($user_query)){ 
            $id=$row['equipment_id']; 
            $cat_id=$row['category_id']; 

              $cat_query = mysql_query("select * from category where category_id = '$cat_id'")or die(mysql_error()); 
              $cat_row = mysql_fetch_array($cat_query); 
            ?> 
            <tr class="del<?php echo $id ?>"> 


            <td><?php echo $row['equipment_id']; ?></td> 
            <td><?php echo $row['equipment_description']; ?></td> 
            <td><?php echo $cat_row ['classname']; ?> </td> 
            <td><?php echo $row['quantity']; ?> </td> 
            <?php /* <td><?php echo $row['equipment_description']; ?></td> */ ?> 
             <td width=""><?php echo $row['status']; ?></td> 
            <?php include('tooltip_edit_delete.php'); ?> 
            <td width="20"> 
               <input id="" class="uniform_on" name="selector[]" type="checkbox" value="<?php echo $id; ?>" > 

            </td> 

            </tr> 
            <?php } ?> 
           </tbody> 
          </table> 

       </form> 
      </div>  
      </div>  
<script>   
$(".uniform_on").change(function(){ 
    var max = 1; 
    if($(".uniform_on:checked").length < max){ 

     $(".uniform_on:checked").attr('disabled', 'disabled'); 
       alert('Please Check the item of equipment to be borrowed!'); 
     $(".uniform_on:checked").removeAttr('disabled'); 

    }else{ 

     $(".uniform_on").removeAttr('disabled'); 
    } 
}) 
</script>  
      </div> 
     </div> 
    </div> 
<?php include('footer.php') ?> 

は変更を加えて、それは私がそれをデータベースに保存されません借りしたいトランザクション部分のために今の検証一部のために働くですjavascriptのための

<input name="delete_student" class="btn btn-success" type="button" value="Borrow" onClick="return validationfunction();" /> 

CODE:それはあなたが CODE新しいボローボタン借りてきたことだけ促さ

<script> 
function validationfunction() { 
    if($(".uniform_on:checked").length > 0) { 
     alert('Equipment has been borrowed.'); 
     return true 
    } 
    else { 
     alert('Please check the item of equipment to be borrowed!'); 
     return false; 
    } 
} 
</script>  
+2

this i JavaScriptとjQuery、PHPではなく...また、私は0のajaxを参照してください。 – SpYk3HH

+0

あなたの 'html'を表示してください –

答えて

2

最初に、そのjavascriptとjQueryコード。

ボーリングボタンをクリックしてこの機能を呼び出し、チェックボックスがオンになっているかどうかを確認します。

function validationfunction() { 
    if($('.uniform_on').is(':checked')) { 
     // Your code goes here. 
    } 
    else { 
     alert('Please Check the item of equipment to be borrowed!'); 
     return false; 
    } 
} 

次のようにボタンをクリックするとこの機能が呼び出されます。

+0

if/else文を使わずに直接' $( '。uniform_on')。is( ':checked') 'を返すこともできます。 そして実際には、ここで最大の問題は、彼がボタンクリックで検証機能を呼び出さないということです。 – vdubus

+0

最初の機能は必要ありません。編集されました!彼は「押したときに借りボタンの検証を作成しようとしている」ので、彼は上記の関数を検証のために使うことができます。 –

+0

私はそれを得ない?約束する;私はそこにどのようなコードを挿入し、私はそれを借りボタンにどのように呼びますか? – Chouny

1

@ SpYk3HHは既にあなたがここに投稿したコードがPHPではないことを述べています。しかし、あなたの完全なポストを読むごとに。バックエンド(PHP)側で投稿データを受け取っているうちに、基本的に問題があると思います。

実際には、HTML Element CheckboxがBOOL値(true/false)としての役割を果たします。したがって、チェックボックスが選択されている場合は、チェックボックスの値がポストデータに表示されます。それ以外の場合は、チェックボックスの値は表示されません。

この状況に対処する方法

まあ、これはあなたのコードで遊ぶことについての何かである、あなたは、データベースにデータを挿入する前に、アレイを作成する必要があります。

さらに
$myData = array(); 
$myData['key1'] = $_POST['key1']; 
$myData['key2'] = $_POST['key2']; 
/* 
    As you can see we are handeling if the Checkbox was not seleted and giving it the value '0' in this case. 
*/ 
$myData['checkbox_key'] = !empty($_POST['checkbox_key']) ? $_POST['checkbox_key'] : 0; 


// then insert your $myData array in to database or do anything you wants to do. 

フォームを送信する前に、チェックボックスの有効性を確認することもできます。

function validate_it(){ 
    if($(".yourClassName:checked").length > 0){ 
     // Submit it or anything else 
    }else{ 
     // alert or warn the user! 
    } 
} 
+0

jQueryを使用してjQueryを使用してページを検証する場合、チェックされていないチェックボックスはシリアル化されないので、$ _POST ['key'] 'は存在しない可能性があります。 – SpYk3HH

+0

フォームの提出方法このコードは? – Chouny

+0

'$ myData ['checkbox_key'] = isset($ _ POST ['checkbox_key'])? $ _POST ['checkbox_key']:0; ' – SpYk3HH