显然这不是最终形式,而是我为调试表单而创建的一个片段。它仍然与最终形式具有相同的错误。我已经在这个工作了几个小时。
我的客户端localhost上的任何其他html表单中没有其他javascript执行此操作。这是在MAC上的MAMP环境中。
就在这里,我无法修复它以保存我的**。建议最受欢迎。它必须是简单的东西。我已经尝试了所有困难的东西,它对结果没有影响。
<!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>
var $ = function(id){
document.getElementById(id)
}
function prepareEventHandlers() {
alert("This is test.js")
}
window.onload = function () {
prepareEventHandlers();
}
未声明纯文本文档的字符编码。如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。需要在传输协议中声明文件的字符编码,或者文件需要使用字节顺序标记作为编码签名。
点击表单提交按钮后,我在浏览器中看到的内容 页面重新加载,提交按钮消失了。 JS文件作为文本
读入浏览器var $ = function(id){
document.getElementById(id)
}
function prepareEventHandlers() {
alert("This is test.js")
}
window.onload = function () {
prepareEventHandlers();
}
警告对话框,显示“这是一个测试”。
答案 0 :(得分:3)
通过在表单中添加action="test.js"
,您告诉浏览器应将表单提交(发布)到服务器上的test.js,这没有多大意义。如果不了解您实际尝试实现的内容,我只能假设您希望在javascript中在客户端纯粹处理该表单?在这种情况下,您do not need a form at all。您只需要一个提交按钮,其中包含一个在单击时调用处理函数的操作。