的document.getElementById不在IE 8工作(document.getEleme

2019-06-26 21:32发布

之前,所以我道歉,如果我没有描述我的问题不够好或者不使用所有正确的语法,我从来没有这样做过。

我有我的网站是一个电子邮件的形式。 用户可以在一个消息类型,以他们的名字和一些其他数据一起。 一旦他们完成填写表格时,他们可以提交它,它去给我的电子邮件,一切都很好。 由于形式具有的JavaScript,我已经自动将其与CSS隐藏,然后使其通过JavaScript可见。 这样,如果用户自己关闭JavaScript不会出现的形式。

而它的伟大工程。 而且我认为这显示了伟大的太。 我检查所有我的本地测试的浏览器(Chrome浏览器21,FF 14,IE 9,歌剧12和Safari 5),以及通过Adobe浏览器实验室的IE 8,7和6个个看上去太棒了。 我甚至检查了我的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,但原因她不是一个完全不同的故事...)

谢谢你的帮助。 我迫不及待地想听到的解决办法是什么!

Answer 1:

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

你需要改变你的脚本标签类型type="text/javascript"或完全删除该类型。 你有type="application/javascript"这是不正确的。

进一步探索后,看到为什么不承认IE8类型=“应用程序/ JavaScript的”在脚本标签? 更多的讨论。



文章来源: document.getElementByID Not Working in IE 8