所以......我对自己的发布并不感到骄傲,但我真的被困了。我有一个表单,我只想在JavaScript中验证,然后将其传递给控制器。结果我得到Missing }
错误,我不知道为什么。
这是HTML:
<form id='contact_form' method='POST' name='contactform'>
<p>First Name: <input name='first_name' type='text' /></p><br/>
<p>Last Name: <input name='last_name' type='text' /></p><br/>
<p>Company: <input name='company' type='text' /></p><br/>
<p>Email Address: <input name='email' type='text' /></p><br/>
<p>Phone: <input name='phone' type='text' /></p><br/>
<p>Address: <input name='address' type='text' /></p><br/>
<p>Message:<textarea name='message'></textarea></p><br/>
<a id='submit'>Submit here</a>
</form>
这是JavaScript:
<script>
$('#products').on("click", "#submit", function () {
$('input').removeClass('error');
$('textarea').removeClass('error');
var isValid = true;
// verifica nume si prenume
var firstNameReg = new RegExp(/^[^\d]{3,}$/);
if (!firstNameReg.test($('input[name=first_name]').val())) {
$('input[name=first_name]').addClass('error');
isValid = false;
}
var lastNameReg = new RegExp(/^[^\d]{3,}$/);
if (!lastNameReg.test($('input[name=last_name]').val())) {
$('input[name=last_name]').addClass('error');
isValid = false;
}
// verifica telefon
var telReg = new RegExp(/^[\d]{10}$/);
if (!telReg.test($('input[name=phone]').val())) {
$('input[name=phone]').addClass('error');
isValid = false;
}
// verifica email
var emailReg = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
if (!emailReg.test($('input[name=email]').val())) {
$('input[name=email]').addClass('error');
isValid = false;
}
if (isValid) {
alert("Formularul este completat corect!");
}
});
</script>
所以......如果您有任何想法,请给我一个提示!谢谢!
答案 0 :(得分:0)
这不是答案,只是改进验证
我无法确定是什么原因造成你的花括号问题,如果以下代码不起作用,它可能位于另一个文件中,请将您的完整项目上传到某处,以便我可以进一步调查。 我重写了你的验证码并将其缩短了一点(因为你并不为此感到自豪)
$('#contact_form').on('click', '#submit', function() {
var validations = {
first_name: new RegExp(/^[^\d]{3,}$/),
last_name: new RegExp(/^[^\d]{3,}$/),
phone: new RegExp(/^[\d]{10}$/),
email: new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i)
}
$('input, textarea').removeClass('error');
for (var key in validations)
if (!validations[key].test(contactform[key].value))
$(contactform[key]).addClass('error');
if (!$('#contact_form .error').length)
alert("Formularul este completat corect!");
});