0
我有一個應該做以下表單上一個javascript:功能提交
- 必須有人按.aanpassen按鈕解鎖方式。
- 頁面加載時有一個檢查。有些價值觀不應該等同於所提及的東西,並且有一個價值觀必須是相同的。 (checkStuff函數)
- 當.statuut或.land已更改時,腳本應檢查更改並重新綁定表單。
- 檢查增值稅號碼功能檢查增值稅號碼的正確性。
在chrome中執行時,在提交表單時出現以下錯誤。 error testVATNumber is not defined
有沒有人知道我爲什麼得到這個錯誤?
$(document).ready(function(){
function testVATNumber() {
var newVATNumber = checkVATNumber (document.getElementById('vat').value);
if (newVATNumber) {
document.getElementById('vat').value = newVATNumber;
return true;
}
else {
$(".validation-error#error").text("Dit is geen geldig BTW nummer.");
$(".validation-error#detail").text("Vergeet de landscode niet (en voor België de leidende '0'). Gebruik ook geen punten of spaties. bv. BE0409773728, NL0B01, etc.");
$(".validation-error#error").css("color", "red");
$(".validation-error#detail").css("color", "red");
return false;
};
};
function checkStuff() {
if (document.getElementById('statuut').value != 'Gepensioneerd/Op rust'
&& document.getElementById('statuut').value != 'Niet-Actief'
&& document.getElementById('statuut').value != 'Student'
&& document.getElementById('statuut').value != 'Werkzoekend'
&& document.getElementById('land').value == '4cce53c0-20bb-e311-840c-005056040a5f') { // België
$("form").bind("submit", testVATNumber);
$("#vat").parent().show();
$(".validation-error#error").show();
$(".validation-error#detail").show();
$("form").bind("submit", testVATNumber);
};
else {
$("#vat").parent().hide();
$(".validation-error#error").hide();
$(".validation-error#detail").hide();
$("form").unbind("submit", testVATNumber);
};
};
if ('[email protected]_correctie~'=='verplicht') {
$('input').prop('disabled', true);
$('select').prop('disabled', true);
$("button.bevestigen").hide();
$(".aanpassen-letop").hide();
$(".aanpassen").click(function(){
$('input').prop('disabled', function(i, v) { return !v; });
$('select').prop('disabled', function(i, v) { return !v; });
$("button.bevestigen").show();
$(".aanpassen").hide();
$(".aanpassen-letop").show();
checkStuff();
$("#statuut").change(checkStuff());
$("#land").change(checkStuff(););
});
};
else {
$("form").bind("submit", testVATNumber);
};
});
你的JS壞了:'checkStuff()'中有語法錯誤 - 在'else'之前移除';'。 'testVATNumber()'的末尾相同。 –
謝謝@ mpf82修復它。我將重讀如何使用';'符號。這些對我來說還是新的。 – Christoph
還將checkStuff重構爲分配給'.on(「submit」,function(){}'的提交事件處理程序,並使用e.preventDefault()停止提交併使用$(「#...」).val ()而不是document.getElementById – mplungjan