将数据添加到输入字段

时间:2009-11-24 16:58:27

标签: html forms post

我正在尝试向我的页面添加一个搜索框,用于将用户定向到其他网站上的搜索结果页面。我在隐藏字段中有操作和所有其他所需数据,以确保它正确发布。

问题在于他们将额外数据添加到搜索词中,使其成为高级搜索类型的字段。所以不是searchTerm = X,而是期望searchTerm = Locale(en):FQE =(KE,None,11)MY_SEARCH_TERM:And:LQE =(AC,None,8)fulltext $

如何在搜索字词周围添加额外数据,而不必点击中间页面进行连接?

这是我到目前为止所拥有的:

<form action="http://vendors.address/searchresult.do" method="post">
   <input type="hidden" name="type" value="search">
   <input type="hidden" name="sort" value="DateDescend">
   <input type="text" name="queryId">
</form>

我需要能够产生这类事物的东西:

<form action="http://vendors.address/searchresult.do" method="post">
   <input type="hidden" name="type" value="search">
   <input type="hidden" name="sort" value="DateDescend">
   <input type="hidden" name="queryId" value="Locale%28en%2C%2C%29%3AFQE%3D%28KE%2CNone%2C11%29MY_SEARCH_TERM_HERE%3AAnd%3ALQE%3D%28AC%2CNone%2C8%29fulltext%24">
</form>

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

您可以使用Javascript通过隐藏的搜索字段执行此操作。在jQuery中,它将类似于:

$("input[name='queryId']").keyup(function() {
   $("#hiddenField").val("Locale%28en%2C%2C%29%3AFQE%3D%28KE%2CNone%2C11%29" + $(this).val() + "%3AAnd%3ALQE%3D%28AC%2CNone%2C8%29fulltext%24");
});

但是没有JS会打破它。

编辑:是的,打败它,没有刷新答案。

答案 1 :(得分:1)

您可以在提交表单之前使用JavaScript进行连接。有几种方法可以做到这一点,但这是推荐的方法:

由于我没有看到提交按钮,我假设您计算用户按Enter键提交表单,因此您需要收听onSubmit事件并在发送帖子之前连接额外信息服务器

为表单元素指定一个id:
<form action="..." method="post" id="searchForm">

并为文本输入字段指定一个id:
<input type="text" name="queryId" id="queryId">

在表单

之后添加此脚本块
<script>
document.getElementById("searchForm").onSubmit = function(){  
  var queryField = document.getElementById("queryId");  
  queryField.value = "prepend_data" + queryField.value + "append_data";  
  return true;  
}
</script>

或者你可以使用JQuery(请做)你可以放在任何地方:

<script>  
$(function(){
  $("#searchForm")
    .submit(
      function(){
        $("#queryId).val("prepend_data" + $(this).val() + "append_data");
      }
    );
});
</script>

希望有所帮助

答案 2 :(得分:0)

我能想到的两件事:
1.只需将区域设置和内容放入隐藏的输入中:

<input type="hidden" name="locale" value="en" />

2。使用javascript提交表单(这是一个可怕的想法 - 如果Javascript被关闭,你不想让你的网站中断。)