【问题标题】:add url parameter during jquery submit from在jquery提交期间添加url参数
【发布时间】:2013-01-27 01:38:53
【问题描述】:

据我了解,一旦提交表单,您就无法通过添加额外的输入来为其添加参数(至少 [link] 是给我这个假设的原因)

例如:

var form = $('form');
form.submit(function(e) { 
 searchForm.append(
   '<input name="a" type="hidden" value="' + a + '">' +
   '<input name="b" type="hidden" value="' + b + '">' );
}

所以我的下一个猜测是通过位置动态添加参数。我遵循了this 代码,但它刷新了页面并且仅适用于添加一个参数,并且可以使用我在表单上的原始输入。这不起作用。

也许我想要做的事情不可能通过获取,而只能通过发布。我不想使用帖子。但是为了澄清问题,作为用户我搜索一个位置,当这个人提交搜索时,jquery 会干扰submit() 并查看地址以找到一个纬度/经度。如果存在 lat 和 lng,我想通过 get 将 lat 和 lng 与搜索到的地址一起传递到下一页。

例子:

website.com/path?search=NC&a=35.38905&b=-78.486328

【问题讨论】:

    标签: jquery forms submit url-parameters


    【解决方案1】:

    试试这个(在 GET 上工作,而不是在 POST 上尝试)

    <script type="text/javascript">
    $(document).ready(function(){
      $("#fx").submit(function(event){
      //  event.preventDefault();
        var newitem = document.createElement("input"); 
            newitem.name = "addedItem";
            newitem.type = "text";
            newitem.value = "As if by magic";
            $("#fx").append(newitem);
    
      });
    });
    </script>
    
    <form id="fx" name="fx">
        <input type="text" name="bob">
        <input type="submit">
    </form>
    

    【讨论】:

    • 您的示例与我附加的代码相同。不幸的是,我认为尝试并没有什么坏处,但这并不奏效。
    • 在 Chrome 中这工作正常,它将新的值对添加到表单中。问题是特定于浏览器的问题吗(我会看看其他的)
    • 更新:刚刚在 IE、Safari 和 Chrome 中尝试了相同的代码,并且在向请求中添加新值时可以正常工作...您遇到什么浏览器失败?
    • 看起来您无法通过 ajax 调用设置新的文档元素。所以......你的代码是正确的,在getJSON之外......我想我应该发布一个新问题。
    猜你喜欢
    • 1970-01-01
    • 2013-08-13
    • 2011-02-01
    • 2023-04-06
    • 2015-11-25
    • 2010-11-02
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多