从java脚本构造GET url并提交

时间:2016-08-26 22:25:11

标签: javascript

点击我表单中的搜索按钮,我想将一些参数设置为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正在返回url as     http://localhost:8080/Project/vendor/search?query=xxx&search_query=xxx&search=Search

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

如何做到这一点?

编辑:

我无法移除表单元素search_querysearch

这是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>

1 个答案:

答案 0 :(得分:1)

当您使用`method =“GET”提交表单时,表单中的所有输入字段都将作为URL参数包含在内。如果你想要忽略其中一些,你需要从表单中删除这些输入。

<xsl:value-of select="key('table-lookup', $curr_key, $LookupDoc)/@ElementType"/>

此外,您应该从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(); } } } 代码返回false来停用默认表单提交。

onsubmit