2011-12-04 7 views
0

フォームがASPに送信される前に質問を投稿しました。私はPHPにもっと精通しているので、フォームをPHPに提出するように変更することにしました。唯一の問題は、フォームがaspファイルcontact.asp内に作成され、私はこれをcontact.phpページに提出したことです。フォームがHTMLに変更され、ASPページのPHPに投稿される

問題は、JavaScriptを使用してASPページのヘッドセクションに検証を含めるようにしようとしていることです。これは、空の名前、電子メール、電話による確認です。次のように私が使用していますJavaScriptがある

<script type="text/javascript"> 

function validateForm() { 
    var x=document.forms["myForm"]["fname"].value; 
    if (x==null || x=="") { 
    alert("First name must be filled out"); 
    return false; 
    } 
} 

function validateForms() { 
    var x=document.forms["myForm"]["email"].value; 
    var atpos=x.indexOf("@"); 
    var dotpos=x.lastIndexOf("."); 
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) { 
    alert("Not a valid e-mail address"); 
    return false; 
    } 
} 

</script> 

私は非常にこれで任意の助けをいただければ幸い私が最初のように、単に名前とメールアドレスを試してみました。

おかげ

編集:JavaScriptを動作していないだけであなたが二回同じ関数を宣言しているいずれかの検証

+0

意図的に同じ機能を2回宣言していますか? –

+0

@TomvanderWoerdt申し訳ありませんが少し遅れており、私はJavaScriptであまりにも優れていません。電子メールの検証のためにvalidateForms()に変更しましたが、検証は行わずにフォームを送信します。ありがとう – user1060444

+0

@ TomvanderWoerdt私は関数の名前をvalidateForms()に変更しましたが、これはうまくいきませんでした。どのように機能をマージできますか?私も電子メールの検証を削除しようとしていますが、名前の検証はそれ自体では機能しません。 – user1060444

答えて

1

せずにフォームを送信します。それは動作しません。いずれかの関数の名前を変更するか、それらを1つにマージします。

また、関数を実際に呼び出す必要があります。

<form method="" action="" onsubmit="return validateForms();" id="myForm"> 

フィールドが正しく呼び出されていることを確認してください。

<input name="email" type="email" /> 
関連する問題