jQuery submit()和表单操作不起作用

时间:2014-05-05 05:33:46

标签: jquery forms submit

我有一个简单的搜索字段:

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

我已尝试过多种变体(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>

和此:

<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>

但我无法将页面(操作)指向所需的页面。即使我尝试在外部设置操作(例如:Google.com),它也不会将我发送到那里。我错过了什么?类型变量以前声明为btw。

此外,我知道它需要验证 - 只是试图让它先工作。

由于

2 个答案:

答案 0 :(得分:1)

<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>

立即尝试...我已经更改了表单方法,现在可以正常发布它。

答案 1 :(得分:0)

你应该采用第二种方法。但是你必须在Jquery的document.ready函数中提供你的脚本。

<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>