【发布时间】:2012-08-03 17:48:41
【问题描述】:
我在 onkeyup 事件期间从位于父级的 iframe 调用位于父级窗口中的 Javascript 函数。 IE 抱怨并且 IE8 中内置的调试器停止并突出显示此代码中的“if 块”说 - "对象不支持这种属性或方法"
PS - 这段代码在 FF 中有效!
<td class="grid" align="left">
<input type="text" name="invqty${topitem.itemIdentifier}-<c:out value = "1"/>"
id="invqty${topitem.itemIdentifier}-<c:out value = "1"/>"
value="0"
onFocus="this.select()"
onkeyup="if(!parent.validateFloat(this.id)) { this.value = '0'; }
else { parent.updateBalance(${topitem.itemIdentifier}); }">
</td>
有人有什么想法吗?
【问题讨论】:
-
你能不能创建一个javascript函数,比如
doKeyUp(thisElement, itemIdentifier),在函数中输入以下内容:if(!parent.validateFloat(thisElement.id)) { thisElement.value = '0'; } else { parent.updateBalance(itemIdentifier); }并使用onkeyup中的函数?就像onkeyup = "doKeyUp(this, ${topitem.itemIdentifier})"现在如果你使用调试器,你可能会得到失败的确切行。 -
@Nivas - 调试器突出显示“if(!parent.validateFloat(this.id))” - 我知道它不喜欢这段代码。还是说问题可能出在其他地方?
-
你定义了
validateFloat函数吗? -
是的 - 如果您认为对您有帮助,我会在上面添加。
-
@Bergi - parent 是我的 iframe 所在的主页。我从我的 iFrame 调用这个 onkeyup 事件。顺便说一句,它们在同一个域上。这在 FF 中有效,所以我相信这是 IE 特有的。
标签: javascript internet-explorer object onkeyup