1

私はこれまでこれを行ったことがないので、問題を十分に説明しなかったり、正しい構文をすべて使用しなかったりした場合は、お詫び申し上げます。

私のウェブサイトにあるのはメールフォームです。ユーザーは、名前やその他のデータとともにメッセージを入力できます。フォームへの記入が完了すると、フォームを送信できます。フォームは私のメールアドレスに送信され、すべて問題ありません。フォームにはJavaScriptが含まれているため、CSSで自動的に非表示にしてから、JavaScriptで表示できるようにしました。そうすれば、ユーザーがJavaScriptをオフにしている場合、フォームは表示されません。

そしてそれは素晴らしい働きをします。そして、それも素晴らしい表示だと思いました。すべてのローカルテストブラウザ(Chrome 21、FF 14、IE 9、Opera 12、Safari 5)と、IE 8、7、6用のAdobeBrowserラボで確認しました。すべてのブラウザで見事に見えました。私はそれを私のAndroid携帯電話と私のガールフレンドのブラックベリーでさえチェックしました。見栄えが良かった。

IE 8を使用して母のコンピューターでテストするまで、Adobe Browserlabではフォームが表示されると表示されますが、実際のテストではフォームは表示されません。

ここで自分でテストできます。

問題はフォームID「emailForm」にあります。私のフォームには次のようなマークアップがあります。

    <form id="emailForm" method="POST" action="../javascript/email_form.php" onSubmit="return validateForm();">
        <label id="emailSubjectLabel">Email Subject*:</label><input class="form" title="Email Subject" type="text" name="subject" id="emailSubject"><br>
        <label id="nameLabel">Your Name*:</label><input class="form" title="Your Name" type="text" name="name" id="yourName"><br>
        <label id="emailLabel">Your Email:</label><input class="form" title="Your Email Address" type="text" name="email" id="yourEmail"><br>
        <label id="messageLabel">Your Message*:</label>
        <textarea class="form" title="Write Something..." name="message" id="message" cols="40" rows="5"></textarea>
        <input class="button" type="submit" value="Submit">
        <p class="error">* required.</p>
    </form> 

私のCSSにはたくさんのコードがありますが、フォームを非表示にすることに関しては次のようになっています。

    #emailForm, #javaText {
        display: none;  
    }

(注:#javaTextは、ユーザーがJavaScriptをインストールしていない限り非表示になる画面上のテキストです。また、IE 8では機能しません。簡単にするために、ここでは言及しません。)

そしてJavaScriptは次のようになります:

    document.getElementById("emailForm").style.display = "block";
    document.getElementById("javaText").style.display = "inline";

    function validateForm() {
    //function that validates the form
    }

JavaScriptをページの下部に配置しました。これが役立つことを願っています。メインのHTMLページでコンテンツのスタイルを変更してみました。母のJavaScriptを確認したところ、有効になっています。なぜ機能しないのかわかりません。

誰かが私が間違っていることを教えてくれたら、私はとても感謝しています。これは私に一週間頭痛を与えています。

(はい、私は彼女のIEがダメだと言ったので、彼女はChromeを使うべきですが、彼女がそうしない理由はまったく別の話です...)

ご協力いただきありがとうございます。解決策が何であるかを聞くのが待ちきれません!

4

1 に答える 1