2014-05-22 58 views
1

我有一个表,一些JavaScriptFirefox的JavaScript的兼容性

<td nowrap="" style="background: none repeat scroll 0% 0% rgb(211, 211, 211);" onmouseout="this.style.background='#d3d3d3'; menu3.style.color='#000000'" onmouseover="this.style.background='#EE0000'; menu3.style.color='#ffffff'" onclick="javascript:validationMenu('010','006')"> 
    <span id="menu3" class="bulle" name="menu3" style="color: rgb(0, 0, 0);"> 
     Vue générale 
    </span> 
</td> 

我与的onclick功能validationMenu一个问题:

function validationMenu(menu,option) {

document.SCREEN.elements['l1_F010$NUOPTIA'].value = trim(option.substring(1,4)); document.SCREEN.elements['l1_F010$NUMENUA'].value = trim(menu); validateAndSubmit('ENTER');

}

由于我们使用的卷筒纸工具(ibm)document.screen被该工具用于映射iseries DDS屏幕

使用Internet Explorer它工作正常,但在Firefox中显示的警告控制台:

TypeError: document.SCREEN is undefined TypeError: window.event is undefined

+2

你上哪儿去定义'document.SCREEN'? – robertc

+0

尝试[一些背景阅读](http://www.quirksmode.org/js/introevents.html)。 – robertc

+0

'window.screen'?我从来没有听说过'document.SCREEN' –

回答

0

document.SCREEN可能是IE专有的JS对象,但它不能在Firefox中存在。它看起来像你用它来引用页面元素,在这种情况下,你最安全的使用document.getElementById('nameYourElement').value。您的元素名称将是HTML标记的id属性。为了更容易与你合作,可以考虑JQuery,它可以让你使用$('#nameYourElement').val()。然后,您可以使用任何CSS选择器,包括标签,类和伪选择器。

+0

这里的问题是试图让一个webfacing生成的应用程序使用firefox工作。 document.SCREEN是一个由工具实例化的对象,用于捕获异常的DDS屏幕。这里的场景是用户点击td对象的JavaScript代码填充对象屏幕的命令,并将其发送到iseries处理通过http post – hamzahir

+0

幸运的是我熟悉iSeries开发,但我只真正开发PHP运行Zendserver并不知道RPG。就DDS而言,你是指表规格?听起来好像你试图从Web浏览器引用5250会话中的字段,这是否正确?作为在iSeries上开发的Linux用户,我知道这可能会有多棘手,因为IBM真的支持微软,而其他人似乎都处于黑暗之中。 – MaKR

+0

现在我已经阅读了webfacing工具,它似乎取代了5250,这基本上是你试图沟通的两个标签?如果是这样,您需要找到如何通过Javascript引用其他选项卡,其中可能包括自定义编码。你有没有在其他浏览器中试过这个? (Chrome,Safari,Opera) – MaKR

0

Firefox没有像IE这样的全局事件对象,这导致webfacing脚本不能被加载。

火狐传递事件对象作为参数传递给事件处理程序,所以你可以能够通过在面向卷筒纸脚本(arguments[0] || window.event)更换到window.event每一个参考来解决这个问题。


window.event.srcElement更改参考以下几点:

(arguments[0].target || window.event.srcElement) 
+0

感谢您的答案。我会尽快尝试,并回到你 – hamzahir

+0

做完修改后,我不再接收控制台中的错误,但我有另一个错误显示:TypeError:document.SCREEN未定义和 TypeError:(中间值).srcElement是undefined – hamzahir

+0

@hamzahir Internet Explorer在所有其他浏览器中都有一个名为'target'的srcElement'属性。我已经更新了该属性的附加修复答案。 – jamesallman