【问题标题】:Change the 'action' of a form更改表单的“操作”
【发布时间】:2012-05-13 14:20:45
【问题描述】:

我可以像这样使用 Jquery 提交:

$('.SomeLink').bind('click', function()
{
      $(form).submit();
});

实际的形式是这样的:

<form id="foo" method="get" action="http://www.google.com/search">
</form>

现在假设我有另一个链接,我希望能够在其中使用相同的表单,但是现在我想更改“操作”的 url。如果点击不同的链接,如何更改操作?

【问题讨论】:

    标签: jquery forms submit


    【解决方案1】:
    $("#foo").attr("action","http://your_new_val");
    

    【讨论】:

      【解决方案2】:

      动作只是表单的一个属性。

      $("different button").click(function(){
           $("form").attr("action","new action");
      });
      

      【讨论】:

        【解决方案3】:

        您可以尝试将操作编辑为一个简单的参数:

        $(form).attr('action', 'newUrlInString');
        

        然后调用submit();

        【讨论】:

          【解决方案4】:

          试试:

          $('.DifferentLink').bind('click', function() {
                $("#foo").attr("action","new/action");
                $("#foo").submit();
          });
          

          【讨论】:

            【解决方案5】:

            我假设您有一个带有文本框和几个链接的表单,这些链接可以将表单提交到选择的位置。这就是你可以使它通用的方法:

            <form id="theform">
                <input type="text" name="q" />
            </form>
            <div id="choices">
                <a href="#" data-url="http://www.google.com/search/">Google</a> 
                <a href="#" data-url="http://www.yahoo.com/">Yahoo</a>
            </div>
            

            然后是 JavaScript:

            $(function() {
              $('a', $('#choices')).on('click', function() {
                $('#theform')
                    .attr('action', $(this).data('url'))
                    .submit();
                return false;
              });
            });
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-11-15
              • 2011-11-20
              • 2011-05-14
              • 1970-01-01
              • 2014-11-15
              • 1970-01-01
              相关资源
              最近更新 更多