0
我有一個HTML表單:格式錢不工作
<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>
這種形式是動態創建的(有時不止一個條目)。
當我嘗試讀取數值超出此輸入字段中,並與該腳本轉換爲格式貨幣值:
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
}
}
我得到一個錯誤
betragOpen.formatMoney is not a function
如果輸入字段列表只包含一個元素,我只會得到這個錯誤。如果有更多的元素(即使我只檢查一個元素),它的工作。
任何想法?
哪裏是你formatMoney()函數? – RJParikh
這裏是PHP和jQuery的一部分嗎? ID也需要是唯一的。切換到'onclick =「addRemoveToPT(this);''和'addRemoveToPT(複選框)'來訪問它所在窗體中的元素 – mplungjan