Uncaught ReferenceError: formatUangRupiah is not defined 和 Uncaught ReferenceError: separator is not defined

时间:2021-05-19 01:31:34

标签: javascript php codeigniter

我仍然是使用 javascript 的初学者,我正在尝试在我的输入中显示“印尼盾 (ina)”格式。我把代码放在我的 .js 文件中,但它不能完美地工作。任何帮助对我来说都是非常有价值的。

以下是我创建的代码。

谢谢 问候 们

function generateHtmlzakatemas() {

let htmlzakatemas = `
<h5 style="margin-bottom:3px;"><font>Masukkan Nominal:</font></h5>
        <div class="form-group">
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text">Rp.</span>
                </div>
                <input type="text" class="form-control" minlength="3" name="f_nominal_zakat" id="f_nominal" value="0" onkeyup="formatUangRupiah(this.value)" required="" autocomplete="off">
            </div>
        </div>
<div class="spinner-grow" role="status" style="margin-left: 45%; display:none">
    <span class="sr-only">Loading...</span>
</div>  
</div>
`;

$('#divZakatEmas').append(htmlzakatemas);

let f_nominal_rupiah = document.getElementById('f_nominal');
if (f_nominal_rupiah) {
    f_nominal_rupiah.addEventListener('keyup', function () {
        f_nominal_rupiah.value = formatUangRupiah(this.value, 'Rp.');
    });
}

function formatUangRupiah(angka, prefix) {

    var number_string = angka.replace(/[^,\d]/g, '').toString(),
        split = number_string.split(','),
        sisa = split[0].length % 3,
        rupiah = split[0].substr(0, sisa),
        ribuan = split[0].substr(sisa).match(/\d{3}/gi);

    // tambahkan titik jika yang di input sudah menjadi angka ribuan
    if (ribuan) {
        separator = sisa ? '.' : '';
        rupiah += separator + ribuan.join('.');
    }

    rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;
    return prefix == undefined ? rupiah : (rupiah ? 'Rp.' + rupiah : '');
}
}

0 个答案:

没有答案