输入字段未打印从功能domainRef生成的值。
这是我的代码:
<div id="divref" onpageshow="domainRef()">
<script>
function domainRef(){
var ref = document.referrer.toString();
document.getElementById("test").value = ref ;
}
</script>
</div>
<input type="hidden" id="test" value="">
答案 0 :(得分:1)
以下对我有用:
<div id="divref">
<script>
window.onload = domainRef;
function domainRef() {
var ref = document.referrer.toString();
document.getElementById("test").value = ref;
}
</script>
</div>
<input type="hidden" id="test" value="">
问题在于,触发onpageshow
事件时,很可能未完全加载DOM。一种类似的解决方案是使用body元素上的onload
事件属性来触发函数。
<body onload=domainRef()>
<div id="divref">
<script>
function domainRef() {
var ref = document.referrer.toString();
document.getElementById("test").value = ref;
}
</script>
</div>
<input type="hidden" id="test" value="">
</body>
对于后一种解决方案,我创建了一个jsFiddle,其中删除了hidden属性以显示带有结果值的输入字段。
答案 1 :(得分:1)
尝试这个
<div id="divref"></div>
<input type="hidden" id="test" value="">
<script>
domainRef();
function domainRef(){
var ref = document.referrer.toString();
document.getElementById("test").value = ref ;
}
</script>