编程语言
首页 > 编程语言> > javascript-document.getElementByID在IE 8中不起作用

javascript-document.getElementByID在IE 8中不起作用

作者:互联网

我之前从未做过此事,因此如果我对问题的描述不够好或没有使用所有正确的语法,我深表歉意.

我在网站上拥有的是电子邮件表格.用户可以键入一条消息,以及他们的姓名和一些其他数据.他们填写完表格后,便可以提交表格,该表格会寄到我的电子邮件中,一切都很好.因为表单中包含JavaScript,所以我自动将其隐藏在CSS中,然后通过JavaScript使其可见.这样,如果用户关闭了JavaScript,则该表单将不会显示.

而且效果很好.而且我认为它也显示出色.我在所有本地测试浏览器(Chrome 21,FF 14,IE 9,Opera 12和Safari 5)上以及通过IE 8、7和6的Adobe Browser Lab进行了检查.我什至在我的Android手机和女友的Blackberry上进行了检查.看起来不错.

直到我在妈妈的计算机上使用IE 8对其进行了测试.尽管在Adobe Browserlab中它显示了表单,但在实际测试中该表单不会显示.

您可以自己测试here.

问题出在表单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,但没有这么做的原因则完全不同了……)

谢谢你的帮助.我迫不及待地想知道解决方案是什么!

解决方法:

IE8未加载您的form_validation.js文件,这就是为什么它未在该文件中运行初始化代码的原因.

您需要将脚本标签上的类型更改为type =“ text / javascript”或完全删除该类型.您输入的类型=“ application / javascript”不正确.

经过进一步探索后,请参见Why doesn’t IE8 recognize type=”application/javascript” in a script tag?进行更多讨论.

标签:getelementbyid,javascript,forms,internet-explorer-8
来源: https://codeday.me/bug/20191009/1879942.html