如何使用jQuery使用查询字符串值填充输入?

时间:2014-08-07 08:54:34

标签: jquery

我有一个如下输入,我想用查询字符串的值预先填充值,这样当我访问example.com/my.html?phone=12345时,值1234应显示在输入字段中。对不起,如果我的问题看起来很愚蠢,但我对jquery和javascript没有任何经验

<input type="phone" value="" class="form-control" id="phonenumber"
placeholder="Phone number">

4 个答案:

答案 0 :(得分:7)

您可以使用此脚本:

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

设置值:

$("#phonenumber").val(getParameterByName("phone"));

参考: How can I get query string values in JavaScript?

小提琴:http://jsbin.com/hikoyaki/1?phone=12345

答案 1 :(得分:1)

使用javascript split()

var test = 'example.com/my.html?phone=12345';
var res = test.split("=");
$("#phonenumber").val(res[1]);
  

注意:如果您在网址中只有一个查询字符串,请使用此选项。

答案 2 :(得分:1)

这是一种简单的javascript方式

CSS-TRICKS

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

答案 3 :(得分:-2)

以下示例可以帮助您

var location = 'example.com/my.html?phone=12345';
var phoneNo = location.split("?phone=")[1];