Ich habe ein HTML-Formular:Format Geld nicht funktioniert
<form id="zahlungsvereinbarung-rechnungen">
<input type="checkbox" value="2400" name="rechnungen-pt[]" id="20011" onchange="addRemoveToPT();"><label> Rechnung: 20011 vom 01.02.2016 (Offen: 2.400,00)</label><br> </form>
Diese Form dynamisch erstellt wird (manchmal mehr als einen Eintrag).
Wenn ich versuche, den Wert aus diesem Eingabefeld ein und wandeln es in ein Format Geldwert mit diesem Skript zu lesen:
Number.prototype.formatMoney = function(c, d, t){
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
function addRemoveToPT(re_nr, betrag)
{
//erst machen wir das Fenster zur Zahlungsmodalität wieder unsichtbar
document.getElementById("zahlungsmodalitaet_pt").style.display = "none";
//Jetzt schauen wir uns jede Checkbox an, welchen Wert sie hat
betragOpen = 0;
var elements = document.getElementById("zahlungsvereinbarung-rechnungen").elements["rechnungen-pt[]"];
if(elements.length > 1)
{
\t
\t for(var i = 0; i < elements.length; i++)
\t {
\t
\t \t if(elements[i].value > 0 && elements[i].checked)
\t \t {
\t \t \t
\t \t \t betragOpen += parseInt(elements[i].value);
\t \t \t
\t \t }
\t \t
\t
\t }
\t
}else
{
\t
\t betragOpen = elements.value;
\t
}
if(betragOpen > 0)
{
\t
\t document.getElementById("betrag_pt_gesamt").innerHTML = betragOpen.formatMoney(2, ",", ".");
\t document.getElementById("zahlungsmodalitaet_pt").style.display = "block";
\t
}else
{
\t
\t document.getElementById("zahlungskonfiguration").style.display = "none";
\t
}
}
ich einen Fehler
betragOpen.formatMoney is not a function
Ich bekomme diesen Fehler nur, wenn die Liste der Eingabefelder nur ein Element enthält. Wenn es mehr Elemente gibt (auch wenn ich nur ein Element überprüfe) funktioniert es.
Irgendwelche Ideen?
wo ist dein formatMoney() Funktion.? – RJParikh
wo ist der PHP und jQuery Teil davon? Auch IDs müssen eindeutig sein. Wechseln Sie zu 'onclick =" addRemoveToPT (this); "' und 'function addRemoveToPT (checkbox)', um auf das Element in der Form zuzugreifen, in der es sich befindet – mplungjan