Forum Doku Wiki Blog

Forumsarchiv 2007, Juni
Kleiner Bug in einer Addition von Checkboxen

archivierte Beiträge lesen

  1. (JAVASCRIPT) Kleiner Bug in einer Addition von Checkboxen von Konrad Herzog, 21. 06. 2007, 15:59

Kleiner Bug in einer Addition von Checkboxen

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>

Kleiner Bug in einer Addition von Checkboxen

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; }

Kleiner Bug in einer Addition von Checkboxen

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?

Kleiner Bug in einer Addition von Checkboxen

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
--
     *®*´¯`·.¸¸.·

Kleiner Bug in einer Addition von Checkboxen

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