如何操纵获取查询?

时间:2011-08-02 10:43:42

标签: javascript html forms jsp

我有http://regain.sourceforge.net/的以下表格:

<form name="search" action="search.jsp" method="get">
        <p class="searchinput">
          <b>Suchen nach: </b>
          <input name="query" size="30"/>
          <select name="order" size="1" ><option selected value="relevance_desc">Relevanz</option><option value="last-modified_asc">Dokumentendatum aufsteigend</option><option value="last-modified_desc">Dokumentendatum absteigend</option</select>

          <input type="submit" value="Suchen"/>
         </p>
      </form>

搜索表单正常。 URL如下所示: http://localhost:8080/regain/search.jsp?query=queryfieldvalue&order=relevance_desc

现在我想添加一个复选框来操作输入字段查询的值。 如果选中该复选框,则查询值应如下所示:“ queryfieldvalue

http://localhost:8080/regain/search.jsp?query=filename%3A%22 queryfieldvalue %22安培;为了= relevance_desc

最好的方法是什么? JavaScript的?你有一个简短的例子,因为我是javascript的新手。

提前多多感谢。

2 个答案:

答案 0 :(得分:1)

使用纯javascript(没有jquery)的一种方法是

<script type="text/javascript">
function handler()
{
    var check = document.getElementById('check');
    var query = document.getElementsByName('query')[0];
    if(check.checked)
    {
        query.value = "filename:\"" + query.value + "\"";
    }
    else
    {
        query.value = query.value.replace(/^filename:"/, "").replace(/"$/, "");
    }
}
</script>

<form>
    <input type="text" name="query" />
    <input type="checkbox" id="check" onclick="handler()" />box
</form>

它应该或多或少有效,如果你给查询输入字段一个id然后用id引用它,而不是名称

会更安全

答案 1 :(得分:0)

如果你使用jQuery,这样的事情应该做:

 <input type="checkbox" id="chkQuery">Pass queryfield</input>

<script>
$(document).ready(function{}
    $("#chkQuery").click(function(){
        if ($(this).is(':checked')) 
            $("input[name='query']").val("filename:queryfieldvalue");
        else
            $("input[name='query']").val("queryfieldvalue");
    });
});
</script>