Вопрос

I have a simple search field:

  <form id="searchForm" action="">
    <input type="text" name="searchField" id="searchField" value="">
  </form>

I've tried several variations of this (related link):

<script>
  $('#searchField').keypress(function (e) {
    if (e.which == 13) {    // hit enter
      $('#searchForm').submit(function(){
          var val = $('#searchField').val();
          this.action = "index.php?g="+genre+"&s="+val; 
          return false;
      });
    }
  });
</script>

and this:

<script>
  $('#searchField').keypress(function (e) {
    if (e.which == 13) {    // hit enter
      var val = $('#searchField').val();
      $('#searchForm').attr("action","index.php?g="+genre+"&s="+val);
      $('#searchForm').submit();
      return false;
    }
  });
</script>

But am unable to get the page (action) to direct to the desired page. Even if I try and set the action externally (eg: Google.com), it will not send me there. What am I missing? The genre var is declared previously btw.

Also, I know it needs validation - just trying to get it working first.

Thanks

Это было полезно?

Решение

<form id="searchForm" action="" method="post" >
    <input type="text" name="search" id="searchField" value="">
</form>
<script>
$(function(){
    $('#searchField').keypress(function (e) {
    if (e.which == 13) {   
        var genre = 'test';
        var val = $('#searchField').val();
        $('#searchForm').attr("action","index.php?g="+genre+"&s="+val);
        $('#searchForm').submit();
          return false;
    }
  });
});
</script>

Try Now... I have changed the form method to post now its working fine.

Другие советы

You should go with the second approach. But you have to provide your script inside Jquery's document.ready function.

<script>    

$(document).ready(function(e) {

    $('#searchField').keypress(function (e) {
        if (e.which == 13) {    // hit enter
        var genre = 'abcd';
            var val = $('#searchField').val();
            $('#searchForm').attr("action","index.php?g="+genre+"&s="+val);
            $('#searchForm').submit();
            return false;
        }
    });

});

</script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top