提交表格时,请留在同一地点

时间:2011-09-21 07:08:45

标签: xhtml

当我提交表单时,页面将导航到页面的开头。

我想留在同一个地方。有没有办法做到这一点?

1 个答案:

答案 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而不是使用表单的默认提交行为。