javascript在同一个呈现的屏幕上的多个窗体
我正在使用经典的ASP。javascript在同一个呈现的屏幕上的多个窗体
我有一个2包含有2种不同的形式。他们的名字都是独一无二的。但是,当我尝试读取第二个窗体中的元素的值时,我得到一个错误,表示它为空。但是,当我在Firebug中查看源代码时,我可以看到,面对这个元素是有价值的。
我的javascript代码:从萤火
console.log(document.getElementById('focusValue').value);
输出:
<input id="focusValue" type="hidden" value="1006" name="focusValue">
有什么我需要做的,因为有这个 “渲染” 屏幕上2种形式?我认为我应该提到的另一件事是这些页面在iFrame中。不知道这是否真的很重要...
一个iframe包含文档中创建一个单独的文件,会发生什么,你需要获得该文件的引用,然后才能访问其内容。在http://www.dyn-web.com/tutorials/iframes/有一个合理的教程。
如果你只有在一个页面的iFrame,那么你可以通过引用它:
var frame = window.frames[0];
或者你可以使用一个id与的getElementById。要进入该文档的参考:
var doc;
if (frame) {
doc = frame.contentDocument || frame.contentWindow.document;
}
现在您可以在输入元素:
var input = doc && doc.getElementById('focusValue');
当然,这一切都取决于你用相同的起源政策不符的,否则你无法访问框架内容。
看不到你的页面,所以很难调试。假设脚本在表单之后运行。我唯一能想到的是页面上有多个元素,其ID为“focusValue”。
当你console.log(document.getElementById('focusValue'))
我得到document.getElementById('focusValue')为空 – webdad3
你能用“document.formname.focusValue.value”访问它吗? – dkretz