的JavaScript
document.write(screen.width+'x'+screen.height);
var screenres='test';
document.write(screenres);
document.write('BBBBBBBBBBBBBBBBBBBBBBBBBBBB');
document.getElementById('resolutionfield').value = screenres;
document.write(screenres);
document.write('AAAAAAAAAAAAAAAAA');
我正在尝试获取用户屏幕分辨率并将其传递给HTML post方法。如果我通过在其前面添加两个斜杠来禁用1368x768testBBBBBBBBBBBBBBBBBBBBBBBBBBBB
行,则此代码段仅打印document.getElementById
,它会完美地打印出所有内容。
的JavaScript
document.write(screen.width+'x'+screen.height);
var screenres='test';
document.write(screenres);
document.write('BBBBBBBBBBBBBBBBBBBBBBBBBBBB');
//document.getElementById('resolutionfield').value = screenres;
document.write(screenres);
document.write('AAAAAAAAAAAAAAAAA');
过去4个小时我一直在玩这个游戏。这可能是一个简单的问题,但我无法弄明白。
在我的代码中进一步下载
document.getElementById('secondsfield').value = seconds;
document.getElementById('minutesfield').value = minutes;
document.getElementById('hoursfield').value = hours;
这些变量会毫无问题地传递到post方法
HTML
<input type="hidden" id="usersipaddress" name="usersipaddress" value= "<?php echo $_SERVER['REMOTE_ADDR'];?>" >
<input type="hidden" id="secondsfield" name="secondsfield" value="" >
<input type="hidden" id="minutesfield" name="minutesfield" value="" >
<input type="hidden" id="hoursfield" name="hoursfield" value="" >
<input type="hidden" id="resolutionfield" name="resolutionfield" value="screenres" >
有人对此有答案吗?
答案 0 :(得分:4)
如果这一行:
document.getElementById('resolutionfield').value = screenres;
在解析resolutionfield
DOM元素之前太早执行,因此存在于DOM中,然后这将导致错误并停止执行脚本。那是因为:
document.getElementById('resolutionfield')
将为null
,然后当您尝试引用.value
属性时,它将无效并将生成错误Uncaught TypeError: Cannot set property 'value' of null
,您可以在浏览器的错误控制台或调试中看到该错误控制台。