2014-05-22 103 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