2012-03-25 10 views
0

は、私はそれが関係するかもしれないので、この記事を参照したい:奇妙なGETデータ - JavaScriptのフォーム検証

Make Form Fields Optional with JavaScript Validation

前述したように、私は、3つのオプションフィールドを持つフォームを持っています。送信ボタンをクリックすると、JavaScriptアラートが表示されますが、最後はJavaScript機能で指定した文字列(URLは強くなくURLですが)ではなくURLです。

秒後、ページが無効なURLに移動しようとします:それはDon%27t%20forget%20the%20location.を結局のところ

localhost.../index.php/Don%27t%20forget%20the%20location.

私は、JavaScriptの機能を持っている警告文字列です。

私は、間違ってこのコードを貼り付けた奇妙なコードがあるかもしれないと思っていましたが、私はファイルを捜し出し、これを引き起こす普通のものは何も見つかりませんでした。これがバグなのか間違っているのか分かりません。

EDIT

私はそうのようなJavaScriptのフォーム検証機能を持っています。

フォームの onSubmitから呼び出される関数です
function validate_name(field) 
{ 
    if (field == "") return "Please enter the name.\n"; 
    return ""; 
} 

function validate_specialty(field) 
{ 
    if (field == "") return "Please enter the specialty.\n"; 
    return ""; 
} 

function validate_location(field) 
{ 
    if (field == "") return "Don't forget the location.\n"; 
    return ""; 
} 

function validate_form(form) 
{ 
    name = validate_name(form.name.value); 
    specialty = validate_specialty(form.specialty.value); 
    location = validate_location(form.location.value); 

    if (name == "" || specialty == "" || location == "") 
    { 
     return true; 
    } 

    else 
    { 
     alert("You must enter at least one field:\n\n" + name + specialty + location); 
     return false; 
    } 
} 
+0

あなたの機能を投稿することができますか? – Tchoupi

+0

はい、ありがとうございます。それは今そこにあるはずです。 – nicorellius

答えて

1

変数ためですその場合はlocationwindow.location(url)を指します。だから、働くべきである、あなたは、変数名を変更した場合:

userLocation = validate_location(form.location.value); 

alert("You must enter at least one field:\n\n" + name + specialty + userLocation); 
+0

ねえ、良いキャッチ。それは初心者があなたを得ることです。私は今まで知らなかった。本当にありがとう。 – nicorellius

+0

私は何年もの間、javascriptをプログラミングしてきました。 – Tchoupi