Mam prosty formularz html, który dodałem do sprawdzania poprawności za pomocą wtyczki walidacji JQuery. Mam to działa dla pojedynczych pól, które wymagają wartości. Teraz muszę to rozszerzyć, aby użytkownik odpowiedział "tak" na pytanie, musi wpisać coś w polu Szczegóły, w przeciwnym razie pole Szczegóły może pozostać puste. Używam przycisków radiowych do wyświetlania Tak/Nie. Oto mój kompletny formularz html - Nie jestem pewien gdzie iść stąd:Walidacja warunkowa przy użyciu wtyczki walidacyjnej JQuery
<script type="text/javascript" charset="utf-8">
$.metadata.setType("attr", "validate");
$(document).ready(function() {
$("#editRecord").validate();
});
</script>
<style type="text/css">
.block { display: block; }
form.cmxform label.error { display: none; }
</style>
</head>
<body>
<div id="header">
<h1>
Questions</h1>
</div>
<div id="content">
<h1>
Questions Page 1
</h1>
</div>
<div id="content">
<h1>
</h1>
<form class="cmxform" method="post" action="editrecord.php" id="editRecord">
<input type="hidden" name="-action" value="edit">
<h1>
Questions
</h1>
<table width="46%" class="record">
<tr>
<td width="21%" valign="top" class="field_name_left"><p>Question 1</p></td>
<td width="15%" valign="top" class="field_data">
<label for="Yes">
<input type="radio" name="Question1" value="Yes" validate = "required:true" /> Yes
</label>
<label for="No">
<input type="radio" name="Question1" value="No" /> No
</label>
<label for="Question1" class="error">You must answer this question to proceed</label>
</td>
<td width="64%" valign="top" class="field_data"><strong>Details:</strong>
<textarea id = "Details1" class="where" name="Details1" cols="25" rows="2"></textarea></td>
</tr>
<tr>
<td valign="top" class="field_name_left">Question 2</td>
<td valign="top" class="field_data">
<label for="Yes">
<input type="radio" name="Question2" value="Yes" validate = "required:true" /> Yes
</label>
<label for="No">
<input type="radio" name="Question2" value="No" /> No
</label>
<label for="Question2" class="error">You must answer this question to proceed</label>
</td>
<td valign="top" class="field_data"><strong>Details:</strong>
<textarea id = "Details2" class="where" name="Details2" cols="25" rows="2"></textarea> </td>
</tr>
<tr class="submit_btn">
<td colspan="3">
<input type="submit" name="-edit" value="Finish">
<input type="reset" name="reset" value="Reset"> </td>
</tr>
</table>
</form>
</div>
</body>
</html>
Dzięki za odpowiedź. Dodałem kod do elementów
@Steve - Oto kod z dodanym i działającym powyżej, upewniając się, że cytaty i wszystkie są poprawne: http://jsfiddle.net/H2YLp/ –
OK, dzięki, świetnie, mam to teraz działa. Doceniam twoją pomoc, nie zdawałem sobie sprawy, że wprowadzenie tej zmiany byłoby dość proste. To jest naprawdę pytanie dodatkowe, ale chciałbym również, aby etykieta pola tekstowego pola tekstowego zmieniła kolor na czerwony, gdy użytkownik kliknie przycisk Tak, aby wskazać, że jest to teraz pole wymagane. Kliknięcie Nie pozostałoby czarne. Jeśli więc użytkownik kliknie Tak dla pytania 1: Szczegóły: dla pytania 1 zmieniłoby kolor na czerwony. Jakieś pomysły? –