Javascript 将文本框值附加到表单操作url

Javascript 将文本框值附加到表单操作url,javascript,jquery,Javascript,Jquery,我有一个搜索表单,我需要将关键字传递到URL中。我知道使用GET方法要容易得多,但由于某种原因,当我使用它时,什么都不会发生。它不会移动到操作URL。但是POST方法对我很有效 因此,我需要做的是,当用户键入关键字时,它会自动附加到表单操作URL,以便在用户提交表单时我可以获取它。我需要将其传递到URL 以下是我迄今为止所做的工作: <script> $('#input-search').on('change', function (event) { var

我有一个搜索表单,我需要将关键字传递到URL中。我知道使用GET方法要容易得多,但由于某种原因,当我使用它时,什么都不会发生。它不会移动到操作URL。但是POST方法对我很有效

因此,我需要做的是,当用户键入关键字时,它会自动附加到表单操作URL,以便在用户提交表单时我可以获取它。我需要将其传递到URL

以下是我迄今为止所做的工作:

<script>
    $('#input-search').on('change', function (event) {
        var myVal = $(this).val();
        $('form').attr('action', function(i, value) {
            return value + "&search=" + myVal;
        });
    });
</script>

    <form action="http://loclahost/index.php?route=catering/search" method="POST">
      <input type="text" id="input-search" name="keyword" />
      <input type="submit" name="search" value="search"/>
    </form>
最好使用keyup,而不是change,并抓取默认属性操作并使用它

$val = $('form').attr('action');
$('#input-search').on('keyup', function (event) {
    var myVal = $val
        + "&search=" + $(this).val();
  $('form').attr('action', myVal);
});

问题在于您在前一个操作中添加和搜索的每个更改urlGET查询参数不应在POST URL操作中。如果您想在POST中传递其他参数,请使用隐藏输入。我认为您应该使用AJAX调用或$.POST方法
$val = $('form').attr('action');
$('#input-search').on('keyup', function (event) {
    var myVal = $val
        + "&search=" + $(this).val();
  $('form').attr('action', myVal);
});