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

时间:2012-09-04 18:16:33

标签: javascript forms utf-8 character-encoding submit

显然这不是最终形式,而是我为调试表单而创建的一个片段。它仍然与最终形式具有相同的错误。我已经在这个工作了几个小时。

我的客户端localhost上的任何其他html表单中没有其他javascript执行此操作。这是在MAC上的MAMP环境中。

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

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();  
}

点击提交应该做什么?

警告对话框,显示“这是一个测试”。

1 个答案:

答案 0 :(得分:3)

通过在表单中​​添加action="test.js",您告诉浏览器应将表单提交(发布)到服务器上的test.js,这没有多大意义。如果不了解您实际尝试实现的内容,我只能假设您希望在javascript中在客户端纯粹处理该表单?在这种情况下,您do not need a form at all。您只需要一个提交按钮,其中包含一个在单击时调用处理函数的操作。