我想用其他一些Javascript函数运行jQuery函数。我想我没有正确理解语法。我有一个在页面加载时使用表单打开的colorbox。当提交表单时,我试图首先进行验证运行,然后如果成功运行关闭了Colorbox并验证父窗口的jQuery函数。这就是我现在所在的位置(顺便说一句,我已经围绕着这个圈子,我已经能够使jQuery函数工作,我已经获得了验证函数的工作,但我已经。从来没有得到他们一起工作我很抱歉,如果我已经得到大错特错,但我想我已经渐行渐远,因为我尝试一些新的东西):jQuery函数和Javascript函数不能一起工作
只是尝试这样做:
window.echeck(str) = function {
var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
alert("Invalid E-mail ID")
return false
}
if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
alert("Invalid E-mail ID")
return false
}
if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
alert("Invalid E-mail ID")
return false
}
if (str.indexOf(at,(lat+1))!=-1){
alert("Invalid E-mail ID")
return false
}
if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
alert("Invalid E-mail ID")
return false
}
if (str.indexOf(dot,(lat+2))==-1){
alert("Invalid E-mail ID")
return false
}
if (str.indexOf(" ")!=-1){
alert("Invalid E-mail ID")
return false
}
return true
}
window.ValidateForm() = function{
var emailID=document.MailingList.emailaddress
if ((emailID.value==null)||(emailID.value=="")){
alert("Please Enter your Email ID")
emailID.focus()
return false
}
if (echeck(emailID.value)==false){
emailID.value=""
emailID.focus()
return false
}
return true
}
$(document).ready(function() {
$('#submitbutton').live('click', function(e) {
ValidateForm();
parent.$.fn.colorbox.close();
parent.location.href = "/SearchResults.asp?Cat=1854";
});
});
我没有执行任何功能。
当我删除ValidateForm();从jQuery,当我把JavaScript函数的语法回function ValidateForm();
而不是window.ValidateForm = function()
jQuery的工作原理,但当然其他JavaScript功能不。
你问什么不,但是你的电子邮件验证测试条件'str.indexOf(at)== lstr'没有做你的想法,因为'lstr'是'str.length',并且字符串的长度比最后一个索引长字符(因为索引是从零开始的)。如果你想测试你需要的'str.indexOf(at)== lstr-1'的最后一个字符。但是我建议你用单行正则表达式'.test()'来替换测试电子邮件格式的半打if语句。 – nnnnnn