请求被发送到服务器两次

时间:2014-02-06 11:13:15

标签: javascript jquery forms

我使用以下方法向服务器提交表单:

HTML Form

<form class="navbar-search pull-left" onsubmit="return mera()">
<input placeholder="Search" class="search-query span2" name="query" type="text" id="query" style="width:300px">
</form>

Method

<script>
function mera() {
   alert('this is something!');
   var query = document.getElementById('query').value;
   window.location = '../Translation/Search_Query?query=' + query;
   return false;
 }
</script>

在单次提交时,它会向服务器发送两次request。但是第一次只显示alert一次。如何解决?

3 个答案:

答案 0 :(得分:2)

你不需要javascript。只需使用GET method

即可

HTML:

<form class="navbar-search pull-left" method="GET" action="../Translation/Search_Query">
    <input placeholder="Search" class="search-query span2" name="query" type="text" id="query" style="width:300px">
</form>

当您提交表单时,这将变为:

http://example.com/Translation/Search_Query?query=query

希望这是有道理的。

答案 1 :(得分:0)

试试这个

<script>
function mera() {
   alert('this is something!');
   var query = document.getElementById('query').value;
   window.location = '../Translation/Search_Query?query=' + query;
    return true;
 }
</script>


<form class="navbar-search pull-left" onsubmit="return mera();">

答案 2 :(得分:-1)

为什么不改变你的代码。唯一的问题是它会发布值而不是get。

<form class="navbar-search pull-left" action="../Translation/Search_Query">

一旦您提交表单,它将提交您的价值。

注意:您可能需要根据servlet映射更改操作。

<强>更新

<script>
function mera() {

document.getElementById('testForm').submit();
 }
</script>


<form id="testForm" class="navbar-search pull-left" onclick="mera();" method="GET" action="../Translation/Search_Query">