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