【问题标题】:submit form to string (jquery?)将表单提交到字符串(jquery?)
【发布时间】:2011-07-05 16:34:32
【问题描述】:

我正在尝试创建一个表单,该表单仅将字符串提交到另一个页面,但参数名称已从 URL 中删除。

即用“foo”提交以下表单

<form action="search.asp" method="get">
   <input type="text" name="keyword" id="keyword">
   <input type="submit" value="Go">
</form>

将转到search.asp?foo 而不是search.asp?keyword=foo

这可以用纯 html 完成吗?
我想这可以用 javascript 和/或 jquery 来完成,但我不确定具体如何。

有人可以帮忙吗?

我有点菜鸟,所以复制和粘贴解决方案对我来说会很棒。

更新: 感谢到目前为止的答案,但他们似乎没有工作。也许更好的方法是让 JQuery 构造 URL 并加载该 URL?任何更多的建议都会很棒。

【问题讨论】:

  • 你问怎么寄?或者如何接收?或两者?你为什么要这样做?
  • 目标页面可以接收就好了。不幸的是,我遇到了一些旧代码(在我被任命为这个项目之前),我想扩展该页面的功能,以便通过站点其他地方的快速文本字段进行访问。我认为这样做比重写许多与其他功能相关联并冒着破坏它的风险的旧东西要快。

标签: javascript jquery forms


【解决方案1】:

或者也许...?

$('input[type="text"]').blur(function() {
    $('form').attr('action', 'search.asp?' + $('input').val());
});

【讨论】:

    【解决方案2】:

    为方便起见,让我们给表单和提交按钮一个类名,并假设页面上有 jQuery。

    <form action="search.asp" method="get" class="search_form">
       <input type="text" name="keyword" id="keyword">
       <input type="submit" value="Go" class="search_button">
    </form>
    
    <script type="text/javascript">
      $(function(){
        var $form = $(".search_form");
        // save the default action, because we are going to mess with it.
        $form.data("original-action", $form.attr("action"));
        // listen to the click on the button, update the form action and submit the form manually
        $(".search_button").click(function(){
          $form.attr("action", $form.data("original-action") + "?" + $("#keyword").val());
          $form.submit();
          return false;
        });
      });
    </script>
    

    未经测试,但应该可以工作。告诉我。

    顺便说一句,可能不需要保存默认操作。但以防万一您想在不重新加载页面的情况下使用 ajax 提交它。

    【讨论】:

      【解决方案3】:

      试试这个:

      <form action="search.asp?foo">
      

      【讨论】:

        【解决方案4】:
        <script>
        $(document).ready(function(){
            $("#btnSubmit").click(function(){
                var keywordVal = $("#keyword").val();
                window.location.href = "search.asp?" + keywordVal;          
            });
        });
        </script>
        
        <input id="keyword" type="text" name="keyword">
        <button id="btnSubmit">Submit</button>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-18
          • 1970-01-01
          • 2013-09-13
          相关资源
          最近更新 更多