使用javascript和哈希标记预填充联系表单

时间:2014-01-07 03:00:11

标签: javascript jquery contact-form

我一直在做大量的搜索,看看如何让它发挥作用。我发现这个代码很接近,但我无法弄清楚如何从url中获取hashtag数据,而不是将其预先输入到代码中。基本上我想通过使用myurl.com/contactus/#refnumber=numberhere链接到客户正在查询的内容,然后根据ID将其填入表单中。

我发现这个片段还有它寻找额外的&我不需要的参数。非常感谢帮助解决这个问题。 :)

var hash = '#refnumber=test'

var hashParams = hash.substr(1).split('&'); // substr(1) to remove the #
for(var i = 0; i < hashParams.length; i++){
var p = hashParams[i].split('=');
document.getElementById(p[0]).value = decodeURIComponent(p[1]);

我似乎已经在更多的在线搜索和一些修补之后弄清楚了:我确实想知道这是否适用于大多数浏览器。将要测试!

var hash = window.location.hash.replace('#refnumber=', ''); // get hash and replace the '#' (hash) tag
document.getElementById('refnumber').value = hash; // add value to input

2 个答案:

答案 0 :(得分:0)

听起来你想要的只是:

var hash = location.hash

为了简化您的代码:

var hash = location.hash
var p = hash.substr(1).split('=');
document.getElementById(p[0]).value = decodeURIComponent(p[1]);

答案 1 :(得分:0)

好吧,经过一番搜索和修补,我似乎已经弄明白了。

var hash = window.location.hash.replace('#refnumber =',''); //获取哈希并替换'#'(哈希)标记 document.getElementById('refnumber')。value = hash; //为输入添加值