Как манипулировать запросом Get? - PullRequest
0 голосов
/ 02 августа 2011

У меня есть следующая форма от 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%22queryfieldvalue%22&order=relevance_desc

Какой лучший способ сделать это? Javascript? У вас есть короткий пример для меня, потому что я действительно новичок в javascript.

Заранее большое спасибо.

Ответы [ 2 ]

1 голос
/ 02 августа 2011

в одну сторону с чистым 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>

это должно работать более или менее, было бы безопаснее, если бы вы дали идентификатору поле ввода запроса, а затем указали его по идентификатору, а не по имени

0 голосов
/ 02 августа 2011

если вы используете 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...