Der folgende Beitrag wurde am 21. 06. 2007, 15:59 Uhr von Konrad Herzog veröffentlicht.
Folgendes Script funktioniert wunderbar, wenn in dem Formular
2 oder mehr Checkboxen enthalten sind. Ist da aber nur 1 input
type=checkbox, wird onClick das Resultat nicht ausgegeben.
Kann mir jemand sagen, wo ich die Funktion abändern muss, um
auch bei nur einer Checkbox onClick das richtige Resultat zu
erhalten?
<form name="myForm" action="save.asp" method=post>
<input onClick="addition(this,24);" type="checkbox" name="ArtikelCheckListe" value="593286">
<input onClick="addition(this,46);" type="checkbox" name="ArtikelCheckListe" value="593287">
<input onClick="addition(this,23);" type="checkbox" name="ArtikelCheckListe" value="593288">
<input type=text name="result" readOnly>
</form>
<script type="text/javascript">
function addition(el,wert){
var summe = 0; // Anfangsbetrag
el.value2=wert;
var liste = el.form[el.name]; // Die Liste aller Checkboxen mit dem Namen
for(var i = 0; i < liste.length; i++)
summe += (liste[i].checked && liste[i].value2) ? liste[i].value2 : 0;
el.form.result.value = summe;
}
</script>
Der folgende Beitrag wurde am 21. 06. 2007, 16:14 Uhr von wahsaga veröffentlicht.
hi,
> Folgendes Script funktioniert wunderbar, wenn in dem Formular
> 2 oder mehr Checkboxen enthalten sind. Ist da aber nur 1 input
> type=checkbox, wird onClick das Resultat nicht ausgegeben.
Wenn nur ein Element des Namens vorhanden ist, dann erhältst du keine NodeList.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Der folgende Beitrag wurde am 21. 06. 2007, 16:54 Uhr von Konrad Herzog veröffentlicht.
Danke schon mal.
> > Folgendes Script funktioniert wunderbar, wenn in dem Formular
> > 2 oder mehr Checkboxen enthalten sind. Ist da aber nur 1 input
> > type=checkbox, wird onClick das Resultat nicht ausgegeben.
>
> Wenn nur ein Element des Namens vorhanden ist, dann erhältst du
> keine NodeList.
Sowas habe ich vermutet. In einer Sprache, die ich verstehe
(Sorry, aber bin wirklich Javaunfähig und werde es mit
grosser Wahrscheinlichkeit nach diesem Script auch nie
mehr gebrauchen) würde die Funktion dann so aussehen:
function addition(el,wert){
var summe = 0; // Anfangsbetrag
el.value2=wert;
var liste = el.form[el.name]; // Die Liste aller Checkboxen mit dem Namen
------------------------------------
If liste.length = False Then // also wenn NodeList vorhanden ist
If liste.element.checked = True Then
el.form.result.value = wert
Else
el.form.result.value = summe
End If
Else
for(var i = 0; i < liste.length; i++)
summe += (liste[i].checked && liste[i].value2) ? liste[i].value2 : 0;
el.form.result.value = summe;
End If
}
Lässt sich das in Javascript übersetzen?
Der folgende Beitrag wurde am 21. 06. 2007, 19:14 Uhr von plan_B veröffentlicht.
Hallo,
> > Wenn nur ein Element des Namens vorhanden ist, dann erhältst du
> > keine NodeList.
> ...
> Lässt sich das in Javascript übersetzen?
ich würde aus dem einen Element ein Array machen:
var liste = el.form[el.name]; // Die Liste aller Checkboxen mit dem Namen
if ( ! liste.length) liste = new Array(liste); // ggf ein Array mit 1 Element
damit sollte der Spezialfall abgehandelt sein.
Gruß plan_B
--
*®*´¯`·.¸¸.·
Der folgende Beitrag wurde am 22. 06. 2007, 18:50 Uhr von Konrad Herzog veröffentlicht.
> ich würde aus dem einen Element ein Array machen:
> damit sollte der Spezialfall abgehandelt sein.
Das war die Lösung! Vielen Dank plan_B!
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4