0

このコードは Firefox では問題なく動作しますが、IE9 では '_area' is undefined というエラーが返されます

function dbasetype(){

    var dbasedata = document.forms[0]._dbase_name.value;
    dbasedata = dbasedata.toUpperCase();
    dbasedata = dbasedata.replace(/\s/g, "");


    if  (dbasedata.indexOf("UK_CONTACTS")==-1) {
        _area.value = _dbase_name.value;            
    } else {
        setarea();
    }

あなたの応答の後、私はこれにコードを変更し、動作します。定義なしで Firefox で機能する理由がわかりません。この関数を呼び出していた関数からそれらを運んだと思いますか?

function dbasetype(){

var dbasedata = document.forms[0]._dbase_name.value;
        dbasedata = dbasedata.toUpperCase();
        dbasedata = dbasedata.replace(/\s/g, "");

var area = document.forms[0]._area;     
var _dbase_name = document.forms[0]._dbase_name;

if  (dbasedata.indexOf("UK_CONTACTS")==-1) {
        area.value = _dbase_name.value;         
     } else { setarea(); }
     }
}
4

2 に答える 2

0

どこで_area定義されていますか?_areaページ上の要素の ID である非標準の動作に依存していますか? その場合は切り替えdocument.getElementById('_area')

于 2012-06-03T17:32:34.257 に答える
0

私に関する限り、IEはdocument.forms[]配列をサポートしていません...

于 2012-06-03T17:35:29.020 に答える