使用纯JavaScript来使用url哈希预填充文本框

时间:2017-06-13 20:11:10

标签: javascript html

我在网页上有一个文本框。我想获得URL哈希的值,例如12345并将其作为加载页面时文本框的值(如果有值),否则,我希望文本框保持空白。

我尝试过使用此代码:

var hash = window.location.hash.substr(1);

function onoff(){
// pre-fill chat id textbox
  if(hash){
    var hash_value = window.location.hash.replace('#','');
    document.getElementById("chat").value = hash_value;
  } else {
    document.getElementById("chat").value = '';
  } 
}

在html代码中(我在调用函数时遇到了麻烦)。

<input type="text" id="chat" maxlength="5" required="">

如果我要更改哈希的值,是否可以在加载时填充文本框?

2 个答案:

答案 0 :(得分:0)

当然可以!只需将您的函数传递到window.onload

即可
var hash = window.location.hash.substr(1);

window.onload = function onoff(){
// pre-fill chat id textbox
  if(hash){
    var hash_value = window.location.hash.replace('#','');
    document.getElementById("chat").value = hash_value;
  } else {
    document.getElementById("chat").value = '';
  } 
}

<input type="text" id="chat" maxlength="5" required="">

希望这有帮助! :)

答案 1 :(得分:0)

>>> for key, value in myDict[0]['nestedDict'].items(): ... print(key, value) ... c 3 a 1 b 2 >>> 执行您的功能。请注意,此功能可以限制为:

DOMContentLoaded

要捕获对哈希的纯更改(在这种情况下不重新加载页面),还要捕获相应的function onoff(){ document.getElementById("chat").value = window.location.hash.substr(1); } document.addEventListener("DOMContentLoaded", onoff); 事件:

hashchange