当我提交表单时,页面将导航到页面的开头。
我想留在同一个地方。有没有办法做到这一点?
答案 0 :(得分:0)
是的,不使用表单提交,而是使用XHR在JavaScript中发送异步请求。举一个具体的例子,假设你有一个看似如下的简单形式:
<form method="POST" action="/path/to/submit">
<input id="input_name" name="input_name" type="text" value="value" />
</form>
使用XHR,它可能类似于以下内容(使用Closure library进行XHR):
<script>
goog.require('goog.net.XhrIo');
var submitCompleted = function() {
alert('Submitted!');
};
var submitAction = function() {
var value = document.getElementById('input_name').value;
goog.net.XhrIo.send(
'/path/to/submit',
submitCompleted,
'POST',
'input_name=' + encodeURIComponent(value));
};
</script>
我假设您仍然保持与以前相同的输入元素,但是您定义了onsubmit
函数来调用submitAction
而不是使用表单的默认提交行为。