我使用以下方法向服务器提交表单:
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
一次。如何解决?
答案 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">