2012-02-26 8 views
0

私のフォームにjQueryの検証があります。ラジオボックス(出席)と2つのドロップダウンメニュー(色と影)があります。ラジオボタンが選択されているとjQueryの検証が機能しません

ユーザーが初めてログインした場合は正常に動作します。しかし、以前に選択したものに基づいてデータベースから値を取得したので、ユーザーがすでに選択してログインし直した場合、以前に「いいえ」を選択した場合、jQueryは機能しません。 2つのドロップダウンメニューが提出され、灰色で表示されません。しかし、「いいえ」ラジオボックスをクリックするとそれが実行されます。問題がjQueryまたはラジオボタンにあるかどうかは不明です。

ユーザーが最初にログインし、「いいえ」を選択すると、すぐにグレーアウトされます。

jQueryの検証:

<script src="jquery.js"></script> 
<script>  
    $(function(){  
      function validate(id){  
       var enabled = ($("input[name='attendance" + id + "']:checked").val() == 'Yes');   
       if(enabled){    
        //Please select option is selected    
        if($("#colour" + id)[0].selectedIndex == 0){     
        alert('Please make your colourselection');     
        return false;    
        }    
        //Please select option is selected    
        if($("#shade" + id)[0].selectedIndex == 0){     
         alert('Please select your shade');     
         return false;    
        } 
       }  
       return true;  
      }; 

      $("input[name^='attendance']").click(function() { 

       var id = this.name.replace('attendance', '');  
       $("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No');   
       validate(id);  
      });  
      $("input:submit").click(function(){   
       var retVal = true; 
       $.each([1], function(i, val){ 
        retVal = (validate(val) && retVal); 
       }); 
       return retVal; 
      }); 
     }); 
    </script> 

ラジオボタン:あなたはそれが常に得られた値にもかかわらず、確認されたままになりますので、余分は、= [はい]ラジオボタンでを "確認" にチェック追加する

<input name="attendance1" type="radio" id="Yes" value="Yes" checked="CHECKED" <?php if($row3['attendance1']=="Yes") { echo "checked"; }?>/>Attend with pleasure 
<br /> 
<input name="attendance1" type="radio" id="No" value="No" <?php if($row3['attendance1']=="No") { echo "checked"; }?>/>Decline with regret 

答えて

0

データベースから削除してください。

 

<input name="attendance1" type="radio" id="Yes" value="Yes" <?php if($row3['attendance1']=="Yes") { echo "checked"; }?>/>Attend with pleasure 
<br /> 
<input name="attendance1" type="radio" id="No" value="No" <?php if($row3['attendance1']=="No") { echo "checked"; }?>/>Decline with regret 
 

は、それが

0

私が見る問題は$row3['attendance1']

checked="CHECKED" checked 

は、これは問題を作成します「はい」である場合、これは、次にレンダリングされます。この部分

checked="CHECKED" <?php if($row3['attendance1']=="Yes") { echo "checked"; }?> 

あるお役に立てば幸いです。 checked="CHEKCED"部分を削除します。

関連する問題