Value ist angeblich nicht verfügbar

Pullmann

Erfahrenes Mitglied
Hi,

ich habe ein tolles Problem das ich noch nie hatte.

Also ich habe zwei Felder das erste ist die Menge und das zweite der Preis
ich habe zwei Tipper um die Menge hoch bzw. runterzusetzten.

Der Preis lässt sich verändern aber die Menge nicht na meckert er rum:

PHP:
function add(artnr,preis,menge){
		price = document.getElementById(artnr).value;
		
		price = parseFloat(preis) + parseFloat(price);
		
		
		
		var re = new RegExp(price);
		if (".".match(re)) {
			
		} else {
			price += ",00";
		}
		
		document.getElementById(artnr).value = price;
		alert(document.getElementById('menge'+artnr).value);	
	
	}

Feld der Menge:
<input id"menge1010" name="menge[][1010]" type="text" class="inputnw" style="width:30px;"  value="1">
Feld vom Preis
<input name="preis[][1010]" type="text" class="inputnw" id="1010" style="width:80px;" value="0,00">

Tipper:
<a href="javascript:add('1010','23.00')"><img src="images/up.gif" width="13" height="10" border="0"></a>
 
Hi,

beim ID-Attribut für die Menge fehlt ein Gleichheitszeichen:
Code:
<input id="menge1010" name="menge[][1010]" type="text" class="inputnw" style="width:30px;"  value="1">
Ciao
Quaese
 
Jyp danke habe ich denn auch nach einiger Zeit entdeckt...

so ich habe jetzt aber noch ein anderes Problem mit dem berechnen von Preisen.

also ich habe den Wert z.B. 20.80 wenn ich diesen heufiger addiere bzw. subtrahiere kommt da ne krumme Zahl raus...

das Script sieht so aus:

PHP:
 neuerPreis = document.getElementById('p_'+artnr);				
		var neuerPreisTmp = parseFloat(preis) + parseFloat(neuerPreis.value);

		var tmp = "" + neuerPreisTmp;
		var re = tmp.search(/\./);
			
		if (re != -1){
			
			arr = tmp.split('.');
			arr[1] = arr[1].substring(0,2)
			if(arr[1].length == 1){
				arr[1] = arr[1]+'0';
			}
			tmp = arr[0]+'.'+arr[1];
			neuerPreis.value = tmp;
		}else{	
			neuerPreis.value = tmp+'.00';
		}

wobei ja allerdings die Berechnung nur in den ersten Zeilen stattfindet.
 
Hi,

zum Runden auf zwei Stellen hinter dem Komma kannst Du auch die Methode toFixed verwenden:
Code:
alert(tmp.toFixed(2));
Ciao
Quaese
 

Neue Beiträge

Zurück