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