Я пытаюсь запустить функцию jQuery с некоторыми другими функциями Javascript. Я полагаю, что я правильно понимаю синтаксис. У меня есть colorbox, который открывается при загрузке страницы с помощью формы. Когда форма отправлена, я пытаюсь сначала выполнить проверку, а затем, если успешно, запустите функцию jQuery, которая закрывает Colorbox и проверяет родительское окно. Вот где я сейчас (кстати, с этим я был всем кругом. Я смог заставить функцию 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";
});
});
I не выполнял ни одну из функций.
Когда я удаляю ValidateForm(); из jQuery и когда я помещаю синтаксис функций javascript обратно в function ValidateForm();
вместо window.ValidateForm = function()
, jQuery работает, но, конечно, другие функции javascript этого не делают.
Не то, что вы просите о , но ваше тестовое условие проверки электронной почты 'str.indexOf (at) == lstr' не делает то, что вы думаете, потому что' lstr' - 'str.length', а длина строки - больше, чем индекс последнего (поскольку индексы основаны на нулевом значении). Если вы пытаетесь протестировать последний символ, вам нужно 'str.indexOf (at) == lstr-1'. Но я бы предложил вам заменить полдюжины операторов 'if', которые проверяют формат электронной почты с помощью однострочного регулярного выражения' .test() '. – nnnnnn