他の Javascript 関数を使用して jQuery 関数を実行しようとしています。構文を正しく理解していないと思います。フォームを含むページの読み込み時に開くカラーボックスがあります。フォームが送信されると、最初に検証を実行しようとしています。次に、成功した場合は、カラーボックスを閉じて親ウィンドウを検証する jQuery 関数を実行します。これが私が今いる場所です(ちなみに、私はこれでぐるぐる回っています。jQuery関数を機能させることができました。検証機能を機能させることができましたが、基本から外れていたら申し訳ありませんが、新しいことを試していたので、離れてしまったと思います):
これを試してみました:
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(); を削除すると function ValidateForm();
jQueryから、そしてjQueryの代わりにjavascript関数の構文を元に戻すとwindow.ValidateForm = function()
、もちろん他のjavascript関数は動作しません。