我有一个ASP.NET Web窗体(与MVC相同的问题)项目,我试图用它来托管我添加的HTML表单的简单JavaScript练习。
关于这个主题的类似问题并没有让我找到解决方案。我猜我必须在IIS中为HTML页面添加一个特殊的处理程序吗?
<!DOCTYPE html>
<html>
<head>
<title>To-Do List</title>
<meta charset="utf-8" />
</head>
<body>
<br />
<form method="post" action="/test/tasks.html" id="theForm">
<fieldset>
<legend>
Enter an item to be done.
</legend>
<div>
<label for="task">Task</label>
</div>
<div>
<input type="text" name="task" id="task" required="required" />
</div>
<input type="submit" value="Add it!" id="submit">
<div id="output"></div>
</fieldset>
</form>
<script src="Scripts/tasks.js"></script>
</body>
</html>
答案 0 :(得分:1)
处理无处提交的表单(如你的)的标准方法就是没有提交按钮(这几乎只是一个调用form.submit()
的按钮)。需要注意的事项:
onclick="foo()"
。为了保持表单和函数之间的分离,请通过addEventListener(或等效的)这样的事情:
<!DOCTYPE html>
<html>
<head><title>Foo</title></head>
<script type="text/javascript">
"use strict";
var javascript_DOM_methods_are_efficient = false;
function displayResult() {
var results = document.getElementById('results');
if (javascript_DOM_methods_are_efficient) {
results.append(document.createTextNode("extraordinary"));
results.append(document.createElement('br'));
} else {
results.innerHTML += "extraordinary<br />";
}
}
function init() {
document.getElementById("eric").addEventListener( "click", displayResult, false );
}
document.addEventListener( "DOMContentLoaded", init, false );
</script>
<body>
<form name="form">
<button type="button" id="eric">half a button</button>
</form>
<div id="results">
</div>
</body>