Kleines Preisproblem

Hier können Sie Fragen bezüglich des Shop Moduls stellen.
Shrek

Kleines Preisproblem

Beitragvon Shrek » Di 14. Jun 2005, 11:17

Hallo zusammen,

wir haben ein Problem bei der Anzeige von Preisen.

Wir haben z.B. einen Preis eingegeben in der Form:
1.299,00

Dieser Preis wird auch richtig dargestellt. Problematisch wird es,
wenn bei der Eingabe aus Versehen ein Leerzeichen hinter die
letzte 0 gesetzt wird.
Dann wird aus diesem Preis folgender: 129.900,00

Das Eingabefeld ist wie folgt deklariert:

Code: Alles auswählen

<we:input type="text" name="preis" num_format="german"/>
Die Ausgabe erfolgt über eine listview. Hier wird das Feld mit
folgendem Tag ausgegeben:

Code: Alles auswählen

<we:field type="float" name="preis" num_format="german"/>
Gibt es mit Webedition Bordmitteln eine Möglichkeit diesen Fehler abzufangen? Z.B. beim Speichern Leerzeichen am Anfang und am Ende zu entfernen?

Oder einen Workarround? Oder muss ich mich dazu in We Interne Skripte "hacken" ... (Worauf ich eigentlich keine Lust habe :) )


Viele Grüße
Shrek

Ralf Pospiech

Beitragvon Ralf Pospiech » Di 14. Jun 2005, 11:48

Hallo,

der einfachste Weg wird sein, dies per Javascript abzufangen, einfach bei Onchange den wert ändern, Schwirigkeit dabei, beim Zurückgeben des Wertes sollte man eine ID verwenden können, den der Name des Feldes wird ja von webEdition umgebogen

Code: Alles auswählen

<script language="javascript">

function fixPreis(wert)
        {
        for (i=0; i<wert.length; i++)
             {
             if (wert[i]!=" ")
             newWert += wert[i];
             }
        document.getElementByID("Preis").value = newWert;
        }

</script>
<we:input type="text" id="Preis" name="preis" num_format="german" onChange="fixPreis(this.value);"/>

Shrek

Beitragvon Shrek » Di 14. Jun 2005, 13:47

Guten Tag Herr Pospiech,

vielen Dank für den Ansatz. Der hat mir weitergeholfen.

Ich musste ihn nur etwas anpassen. Über das onChange Event wird
bereits eine Variable im Backend-Frameset gesetzt (wird wohl durch we:input generiert).
Ich habe jetzt das Even onKeyup verwendet. ich musste auch das JS
etwas anpassen, damit es sowohl im Firefox als auch im InternetExplorer 6 funktionierte:

Code: Alles auswählen

<script language="JavaScript" type="text/javascript">
function fixPreis(wert)
{
	var newWert = "";
	for (var i=0; i<wert.length; i++)
	 {
		 if (wert.charAt(i)!=" ")
			 newWert += wert.charAt(i);
	 }
	document.getElementById("preis").value = newWert;
}
</script>
<we:input type="text" id="preis" name="preis" num_format="german" onKeyup="fixPreis(this.value);" />
viele Grüße
Shrek


Zurück zu „Shop Modul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste