【发布时间】:2015-02-10 22:38:43
【问题描述】:
有一个带有 method="get" 的 html 表单,没有带有 type="submit" 的操作和按钮
(function(){
jQuery(".time").text(Date.now());
})();
jQuery(".set-hash").on("click", function () {
location.hash = "hash";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="get">
<div class="time"></div>
<input type="text" name="param">
<button type="submit">Submit</button>
<button type="button" class="set-hash">Set Hash</button>
</form>
案例 1。
- 点击提交按钮。
查看请求已发送。
案例 2。
- 点击设置哈希按钮
- 点击提交按钮
查看请求未发送。没有任何改变。
案例 3。
- 点击设置哈希按钮
- 为参数输入设置任何值
- 点击提交按钮
- 将任何其他值设置为参数输入
- 点击提交按钮
请注意,仅当参数更改时才发送请求。
所以问题是:为什么只有在参数改变时才发送请求?
P。 S.
当将方法从 GET 更改为 POST 时,一切正常。但是我需要地址栏中的请求参数。
【问题讨论】:
-
尝试在表单中添加
""以外的操作。 -
试过了,没用。看起来它与 location.hash 有关系
标签: javascript html forms