2016-08-26 36 views
0

點擊我的表單中的搜索按鈕,我想設置一些參數給url並提交。從java腳本構造GET url並提交

下面是我的javascript

function validateSubmitSearch(form) { 
    if(form.elements["iAccept"].checked == true) { 
    form.query.value=form.search_query.value; 
    form.action = "vendor/search"; 
    form.method = "GET"; 
    form.submit(); 
    } 
} 

這種JavaScript返回網址爲 http://localhost:8080/Project/vendor/search?query=xxx&search_query=xxx&search=Search

相反,我需要它作爲 http://localhost:8080/Project/vendor/search?query=xxx

這可怎麼辦呢?

編輯:

我無法刪除表單元素​​和search

這裏是HTML代碼

<form class="searchform" onSubmit="validateSubmitSearch(this)"> 
    <input name="query" type="hidden" /> 
    <input name="search_query" class="textbox" type="text" /> 
    <input type="checkbox" id="iAccept" name="iAccept" value="I ACCEPT"> 
    <input name="search" class="button" value="Search" type="submit" /></td> 
</form> 
+0

請添加您的html代碼的complate。 –

+0

'form.search_query.value;'的值是什麼? –

+0

@IvanBarayev:添加了HTML代碼 –

回答

1

當您提交表格`方法= 「GET」,所有的輸入字段在表單中將被包含爲URL參數。如果您想要省略其中的一些,則需要從表單中刪除這些輸入。

function validateSubmitSearch(form){ 

    if(form.elements["iAccept"].checked == true) 
     { 
      form.query.value=form.search_query.value; 
      form.action = "vendor/search"; 
      form.method = "GET"; 
      form.seach_query.parentNode.removeChild(form.search_query); 
      form.search.parentNode.removeChild(form.search); 
      form.submit(); 
     } 
    } 
} 

此外,你應該從onsubmit代碼返回false禁用默認表單提交。

<form class="searchform" onsubmit="validateSubmitSearch(this); return false;"> 
+0

這也不起作用,URL仍然有不需要的參數 –

+0

你是如何調用函數的?也許你沒有禁用默認提交。 – Barmar

+0

查看已更新的答案。 – Barmar