从URL加载变量,仅适用于数字?

时间:2015-08-04 19:54:00

标签: javascript jquery html5

我的网址是example.com/load_item.html?item=QB123

QB123是随机分类的字母&数字我们称之为item_code。

我需要解析URL抓取item_code并将其输入到页面上的表单中。

这就是我所拥有的:

<div class="col_full">
<label for="item_code">Item Number:</label>
<input type="text" id="item_code1" name="item_code" class="form-control"  required/>
</div>
<script type="text/javascript">
document.getElementById('item_code1').value=+window.location.search.substr(6) ; 
</script>

如果item_code是所有数字(例如,12345),则它有效。但是,如果包含字母,则表单值将以NaN的形式提交。任何想法

2 个答案:

答案 0 :(得分:4)

加号应该在等号的左边,以便连接字符串:

document.getElementById('item_code1').value += window.location.search.substr(6) ;

否则您将window.location.search.substr(6)视为一个数字。

答案 1 :(得分:2)

这将为您提供一个包含查询参数的对象:

 var obj = {};
 location.search.replace('?','').split('&').forEach(
    function(item){
      arr = item.split('='); 
      obj[arr[0]] = arr[1]; 
    }
 );

因此,对于您的示例,如果您使用console.log获取obj变量:

 Object {item: "QB123"}