我在http://info.cfgt.com.au/diploma-of-management/sq1/
上使用此脚本<script type="text/javascript">
jQuery(document).ready(function() {
function validateEmail(sEmail) {
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (filter.test(sEmail)) {
return true;
}
else {
return false;
}
}
});
jQuery(document).ready(function() {
jQuery('form').submit(function() {
var sEmail = jQuery('#inf_field_Email').val();
if (validateEmail(sEmail)) {
alert('Email is valid');
e.preventDefault();
}
else {
alert('Invalid Email Address');
e.preventDefault();
}
});
});
</script>
无论我做什么,表单都会提交,并重定向到默认的infusionsoft错误页面。
我不能为我的生活弄清楚我错过了什么,而且我已经到了我的第7个小时。
有什么想法吗?
干杯,
John Detlefs
编辑:
我现在正在使用以下哪种作品:
<script>
jQuery(document).ready(function() {
jQuery('form').submit(function() {
email_address = jQuery('#inf_field_Email');
email_regex = /^[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z]{2,6}$/i;
if(!email_regex.test(email_address.val())){
alert('Please enter a valid email');
return false;
}else{
alert('All Good!');
return true;
}
});
});
</script>
我现在唯一的问题是,它会接受任何东西,而且似乎根本不需要“.domain”。
答案 0 :(得分:2)
如果有多个jQuery(document).ready(function()
块,则无法从另一个块中调用一个中定义的函数。见Can you have multiple $(document).ready(function(){ ... }); sections?
所以尝试将它们组合成一个大函数,看看是否能解决它。
另外,您是否考虑过使用jQuery Validate插件?
答案 1 :(得分:0)
我检查了你的页面。您网页上的错误很少..
首先。找不到你的jQuery。
http://info.cfgt.com.au/wp-content/plugins/jquery.validity.1.2.0/jquery.js"
因为它没有将$识别为函数。所以你的$(function())给出错误。
关于电子邮件部分
将正则表达式更改为
var filter = /^[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z]{2,6}$/i;