我们的是基于struts 1.4的应用程序,我们正在使用jQuery
Mobile。
当出现业务异常时,我们会重新显示包含异常消息的页面。
但是,我设置了一个隐藏变量,我将使用它来确定要显示的单选按钮和文本字段。
然而,当我尝试访问这个隐藏变量时,我总是得到未定义。
当我看到页面时 - >查看 - >资源。我可以看到隐藏变量及其值。
我尝试了一个简单的代码:
document.getElementByID('test');
不返回任何内容。
有没有人遇到过类似的问题?请帮忙。
答案 0 :(得分:1)
它document.getElementById('test')
(注意小写D)
答案 1 :(得分:0)
如果你正在使用jQuery,请使用jQuery。并将其包装在document.ready中,以便在DOM元素存在之前它没有运行。
$(function() { // shorthand for document.ready
// get the value of the element, not the element's object
var myHiddenVar = $('#test').val();
// spit it out
alert(myHiddenVar);
});
答案 2 :(得分:0)
您可以使用像
这样的jquery代码var myVar = $('#test').val();
答案 3 :(得分:0)
谢谢大家的回复。抱歉打字错误。是。我的意思是document.getElementById('test')中的小写'd'。
我发现了问题。当我使用Jquery mobile时,我需要在表单提交时禁用AJAX。我刚刚在jquery核心之后和jquery mobile之前添加了下面的脚本,它就像一个冠军。我使用了firebug,并注意到当从后端重新加载错误消息页面时,会创建两个“div”标记。其中一个div中的一个隐藏字段具有值,另一个div中的一个隐藏字段没有值,但两者具有相同的ID。禁用AJAX后,只有div标签,只有一个Id元素,因此它可以工作。
<script type="text/javascript">
$(document).bind("mobileinit", function()
{
$.extend( $.mobile , {
ajaxEnabled: false
});
});
</script>