私のフォームに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