以纯文本加载的脚本-未声明纯文本文档的字符编码

script loaded as plain text - The character encoding of the plain text document was not declared.

本文关键字:文本 文档 字符 编码 未声明 脚本 加载      更新时间:2023-09-26

很明显,这不是最终表单,而是我为调试表单而创建的一个片段。它仍然有与最终表单相同的错误。我已经处理这个表单好几个小时了。

在我的客户端localhost上,没有任何其他html表单中的其他javascript能够做到这一点。这是在MAC上的MAMP环境中。

它就在这里,我无法修复它来保存我的a**。在这一点上,建议是最受欢迎的。它必须是一些简单的东西。我已经尝试了所有困难的东西,但对结果没有影响。

html文件内容

<!DOCTYPE html>
  <head>
    <meta charset="utf-8" />
    <title>NCSA Contact Form</title>
  </head>
  <body>
    <form action="test.js" name="frmNcsa" id="frmNcsa" method="post">
       <input type="submit" name="submitData" id="submitData" value="Submit"/>
    </form>
    <script type="text/javascript" src="test.js"></script>
  </body>
</html>

test.js文件内容

    var $ = function(id){
      document.getElementById(id)
    }
    function prepareEventHandlers() {
      alert("This is test.js")
    }
    window.onload =  function () {
      prepareEventHandlers();
    }

Firefox错误消息

未声明纯文本文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。文件的字符编码需要在传输协议中声明,或者文件需要使用字节顺序标记作为编码签名。

页面重新加载后

单击表单提交按钮后在浏览器中看到的内容页面重新加载,提交按钮消失。JS文件作为文本读取到浏览器中

var $ = function(id){
    document.getElementById(id)
}
function prepareEventHandlers() {
    alert("This is test.js")
}
window.onload =  function () {
    prepareEventHandlers();  
}

点击提交应该做什么

一个警告对话框,上面写着"这是一个测试"。

通过在表单中包含action="test.js",您告诉浏览器表单应该提交(发布)到服务器上的test.js,这没有多大意义。在不了解您实际想要实现的目标的情况下,我只能假设您希望表单完全在客户端用javascript处理?在这种情况下,您根本不需要表单。您只需要一个提交按钮,其中包含一个在单击时调用处理程序函数的操作。