이 코드는 끔찍 알고 있지만, 한 부분을 제외하고 작동합니다유효성 JQuery와 유효성 검사 그룹 내에서 그룹
당신이되기 위해 "예"를 선택하면 이미 각 그룹에 나타나는이 확인란을 당신이 3 개 체크 박스의 체크하면 필요한 (뉴스 레터, newsletter2 또는 newsletter3) 여기에 그림 1과 같이 : "더"
을하지만 하나는에 "예"를 선택하면 드롭 다운 메뉴를 선택하면 그림 2와 같이 아래에 3 개의 선택 사항 (뉴스 레터, 뉴스 레터 2 & 뉴스 레터 3)이 필요하게됩니다 (적어도 하나의 선택/최소 길이 : 1을 선택해야합니다).
모든 것이 작동하지만 제출하지만이 부분에 머물러 있습니다. 요컨대, 유효성을 검사하기 전에 먼저 3 가지 중 하나를 클릭해야하는 3 가지 선택 사항 (클릭하기 전에)을 원합니다. 여기
지금까지 작동 코드 :
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$.validator.setDefaults({
});
$().ready(function() {
$("#commentForm").validate({
rules: {
'entry.7.group': {
required: "#newsletter:checked",
minlength: 1
},
'entry.77.group': {
required: "#newsletter2:checked",
minlength: 1
},
'entry.777.group': {
required: "#newsletter3:checked",
minlength: 1
}
}
});
});
</script>
<script language="JavaScript">
function showhidefield1()
{
if (document.mainform.more.value == 'yes')
{
document.getElementById("hideablearea1").style.display = "block";
document.getElementById("newsletter.group").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea1").style.display = "none";
document.getElementById("newsletter.group").find("input").val("").removeClass("required");
}
}
</script>
<script language="JavaScript">
function showhidefield2()
{
if (document.mainform.newsletter.checked)
{
document.getElementById("hideablearea2").style.display = "block";
document.getElementById("group_7_1").find("input").val("").addClass("required");
document.getElementById("group_7_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea2").style.display = "none";
document.getElementById("group_7_1").find("input").val("").removeClass("required");
document.getElementById("group_7_2").find("input").val("").removeClass("required");
}
}
</script>
<script language="JavaScript">
function showhidefield3()
{
if (document.mainform.newsletter2.checked)
{
document.getElementById("hideablearea3").style.display = "block";
document.getElementById("group_77_1").find("input").val("").addClass("required");
document.getElementById("group_77_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea3").style.display = "none";
document.getElementById("group_77_1").find("input").val("").removeClass("required");
document.getElementById("group_77_2").find("input").val("").removeClass("required");
}
}
</script>
<script language="JavaScript">
function showhidefield4()
{
if (document.mainform.newsletter3.checked)
{
document.getElementById("hideablearea4").style.display = "block";
document.getElementById("group_777_1").find("input").val("").addClass("required");
document.getElementById("group_777_2").find("input").val("").addClass("required");
}
else
{
document.getElementById("hideablearea4").style.display = "none";
document.getElementById("group_777_1").find("input").val("").removeClass("required");
document.getElementById("group_777_2").find("input").val("").removeClass("required");
}
}
</script>
<style type="text/css">
label.error {
color: #ff0600; list-style-position: outside;
clear: left;
display: inline;
float:right;
height:10px;}
}
</style>
</head>
그리고 몸이이 : 당신이 "필요"규칙의 자신의 맛을 사용자 정의해야 같은
<select name="newsletter4" class="required" id="more" onchange="showhidefield1()">
<option value="">More?</option><option value="yes">Yes</option><option value="no">No</option></select>
<div id='hideablearea1' style='display:none'>
<br><br>
<input type="checkbox" class="checkbox" id="newsletter" name="newsletter.group" onclick="showhidefield2()"/>Newsletter
<div id='hideablearea2' style='display:none'>
<input type="checkbox" id="group_7_1" value="Choice 1" name="entry.7.group" />Choice 1
<input type="checkbox" id="group_7_2" value="Choice 2" name="entry.7.group" />Choice 2
<br><br></div>
<br><br>
<input type="checkbox" class="checkbox" id="newsletter2" name="newsletter.group" onclick="showhidefield3()"/>Newsletter2
<div id='hideablearea3' style='display:none'>
<input type="checkbox" id="group_77_1" value="Choice 1" name="entry.77.group" />Choice 1
<input type="checkbox" id="group_77_2" value="Choice 2" name="entry.77.group" />Choice 2
</div>
<br><br>
<input type="checkbox" class="checkbox" id="newsletter3" name="newsletter.group" onclick="showhidefield4()"/>Newsletter3
<div id='hideablearea4' style='display:none'>
<input type="checkbox" id="group_777_1" value="Choice 1" name="entry.777.group" />Choice 1
<input type="checkbox" id="group_777_2" value="Choice 2" name="entry.777.group" />Choice 2
</div>
</div>
<p></p>
<input type="hidden" name="pageNumber" value="0">
<input type="hidden" name="backupCache" value="">
<div class="ss-item ss-navigate"><div class="ss-form-entry">
<p>
<input name="pageNumber" type="hidden" value="0" />
<input name="backupCache" type="hidden" />
<input name="submit" type="submit" value="Submit Form"/>
이 문제를 해결하기 위해 내가 무엇을 할 수 있는지 아는 사람이 있습니까? 너무 복잡하거나 코드가 너무 작아서 알아낼 수 없다면 알려주세요. –