class in html nur schreiben, wenn DIV eingeblendet ist
landrobber
- javascript
Hallo Leute, ich hoffe hier kann mir jemand helfen, suche mir schon einen Wolf - leider bisher ohne Ergebnis.
Also: Ich habe ein selbst gebautes Formular in Joomla (Chronoforms) eingebaut.
Hier werden die Pflichtfelder für die interne JS-Prüfung von Chronoforms mit der Klasse
class="validate['required']"
gekennzeichnet. Soweit so gut - jetzt geht es konkret um einen Radiobutton (Partneranmeldung) - bei Ja wird der style eines Divs, bei dem die Partnerdaten eingetragen werden können eingeblendet - hier der Code:
<div class="formline">
<div class="labeldiv1">Mit Partner?</div>
<div class="datadiv1"><input type="radio" name="couple" id="mp" class="radio_label_right" value="MIT Partner" onchange="checkPartner()" onclick="checkPartner()" /><span class="myspaceright"><label for="mp">Ja</label></span> <input type="radio" name="couple" id="op" class="radio_label_right" value="OHNE Partner" checked="checked" onchange="checkPartner()" onclick="checkPartner()" /><label for="op">Nein</label></div>
<div class="clrboth"></div>
</div>
<script type="text/javascript">
function checkPartner(){
var withorwithout = document.getElementsByName('couple');
var partnerdiv = document.getElementById('partneranmeldung');
withorwithout[0].checked ?
partnerdiv.style.display = 'block' :
partnerdiv.style.display = 'none';
}
</script>
Wenn nun also die Partnerdaten auch angezeigt werden, so sollen diese Felder bei den Pflichtangaben ebenfalls die Klasse class="validate['required']"
erhalten, damit sie validiert werden können. Und NUR DANN, da Chronoforms ansonsten auch bei ausgeblendetem DIV prüft :-(.
Wie man mekrt, ich bin nicht unbedingt der Crack in JS - hoffe hier kann mir jemand helfen...
Schon mal thx im voraus,
Gruß
Rob
Hallo,
Da fehlt noch das Div, das eingeblendet ist oder nicht, gelle?
ansonsten sinngemäß hinzufügen in der funktion:
withorwithout[0].checked ?
partnerdiv.class = "validate['required']" :
partnerdiv.class = "";
Setzt voraus, dass vorher das Partnerdiv keine class="irgendwas" hatte. Sonst muss man das auch noch mitnehmen. Und setzt voraus, dass man so mit JS browserübergreifend das Attribut "class" setzten bzw. auslesen kann.
Gruß
jobo
[latex]Mae govannen![/latex]
withorwithout[0].checked ?
partnerdiv.class = "validate['required']" :
partnerdiv.class = "";
Stur lächeln und winken, Männer!
Kai