代码之家  ›  专栏  ›  技术社区  ›  Alan Doolan

将文本框数据添加到url

  •  1
  • Alan Doolan  · 技术社区  · 12 年前

    我可能缺少一些基本的东西,但我有一个html文本框,我希望用户向其中添加一些文本,当他们单击按钮时,它会添加到url中:

    例如。

    <form id="discount_code" action='' method='get'>
        <input type='text' name='code' id='code' placeholder='Enter a discount code..'></>
        <input type="button" class='small-button' id='useCode' value='Use Code' onClick="parent.location='www.url.com?id=32&code=< TEXT ENTERED HERE >'" />
    </form>
    

    有什么方法可以让它与jQuery更改事件或类似事件一起使用吗?我搜索了很多类似的建议,但似乎都不起作用。我需要它以GET格式传递到url。它最好也需要在有人粘贴文本的情况下工作。

    谢谢

    5 回复  |  直到 12 年前
        1
  •  1
  •   Stuart Feldt    12 年前

    GET将自动将参数放入标头中。

    因此,如果您将表单的操作更改为www.url.com,如下所示:

    <form id="discount_code" action='//www.url.com' method='get'> 
    <input type='text' name='code' id='code' placeholder='Enter a discount code..' />         
    <input type="button" class='small-button' id='useCode' value='Use Code' /> 
    </form>
    

    ..这应该将放入代码中的任何内容附加到URL中。至于输入id,您可以创建一个隐藏元素或类似的其他输入:

    <form id="discount_code" action='//www.url.com' method='get'> 
    <input type='text' name='code' id='code' placeholder='Enter a discount code..' /> 
    <input type='hidden' name='id' value='23' />        
    <input type="button" class='small-button' id='useCode' value='Use Code' /> 
    </form>
    
        2
  •  0
  •   sroes    12 年前

    您错过了url前面的http://。 当你用www启动一个url时,浏览器会认为它是相对于当前url的。

    <form id="discount_code" action='' method='get'> 
    <input type='text' name='code' id='code' placeholder='Enter a discount code..' />
    <input type="button" class='small-button' id='useCode' value='Use Code' onClick="parent.location='http://www.url.com?id=32&code=< TEXT ENTERED HERE >'" /> </form>
    
        3
  •  0
  •   Jan.J    12 年前
    $(function(){
        $('#useCode').click(function(){
            var code = encodeURI($('#code').val())
            parent.location = 'http://www.url.com?id=32&code=' + code;
        });
    });
    
        4
  •  0
  •   Randy    12 年前

    您可以获取url,添加文本框值,然后像这样重定向到新的url。不过页面会刷新。

        var url = document.URL;
        window.location = url + $('#textboxID').val();​
    
        5
  •  0
  •   chovy    12 年前
    $("#discount_code").submit(function(e){
      var data = $(this).serialize();
      e.preventDefault();
    
      top.location = 'http://example.com/?code='+data.code;
    });