2011-12-14 34 views
0

名前とIDが「firm_id」の選択ボックスに新しい属性を追加したいと思います。これまで私はこのコードを試しましたが、mozilaでうまく動作しましたが、IEでは動作しませんでした。javacriptエラーが見つかりません

私はjavascriptでこれをやっています。なぜなら、選択ボックスはajaxから来ているからです。 関数sbmtfrm()がIEで呼び出していません。

エラー:メッセージ: 'FB' は未定義です。

FBは私のjs libファイルで呼び出されるオブジェクトですが、今は別のスクリプトタグでコードを書いています。

<script type="text/javascript"> 

    function sbmtfrm() 
    { 
     alert('now submitting...'); 
     document.frmsearch.submit(); 
    } 

    function setOnclickAtt(name) 
    { 
     alert("'"+name+"'" + document.getElementById(name).getAttribute('onchange')); 
     alert(document.getElementById(name)); 
     if(document.getElementById(name)) 
     { 
      alert('attrr changed'); 
      var ref = document.getElementById(name); 
      ref.setAttribute('onchange', 'sbmtfrm();'); 
      alert("now new atrr = " + document.getElementById(name).getAttribute('onchange')); 
     } 
     else 
     { 
      alert('again'); 
      setTimeout("setOnclickAtt('firm_id')",100); 
     } 
    } 

    setOnclickAtt('firm_id'); 

</script> 

どのような提案やアイデアをいただければ幸いです。

ありがとうございます。

+0

IEはFBが何であっても好きではないので、エラーがあるため、後続のjavascriptは実行されません。どこにいてもFBの問題を修正する必要があります。 –

+0

別のスクリプトタグを使用しているかどうかは関係ありません。あなたのプロジェクトファイルにFB用にアクセスし、JSスクリプトでその使用をチェックします。 – Alfabravo

+0

なぜこのコードブロックが実行されていない、他の関数が正しく呼び出していますか? – Bajrang

答えて

1

イベントハンドリングに関しては、IEは厄介だと思います。試してみてください:

ref.onchange = sbmtfrm; 

代わりに:も

ref.setAttribute('onchange', 'sbmtfrm();'); 

を、私は、エラーメッセージがこの問題とは何の関係もありませんと思います。それは間違っていますが、別の問題です。

+0

Waaw Nice、Anddoutoi great .... :) – Bajrang

+0

私はそれがうまくいったと思っています^^ – anddoutoi

+0

そして今これはうまくいきませんMozillaで:) – Bajrang

関連する問題