2011-12-27 36 views
0

IEで同じコードを実行するとすべてがうまくいきます。選択した値を取得しています。FirefoxとChromeでは値Undefineを指定しています。ブラウザの独立性の問題コードIEで動作しますが、FirefoxとChromeでは動作しません

----------------- code ------------------------------- 

<html> 
<head> 
<script type="text/javascript"> 

function createSelected() 
{ 
var value; 
var theForm = document.hell; 

for (var i = 0; i < theForm.length; i++) 
{ 
var e = theForm.elements[i]; 
if ((e.type == "hidden") && (e.value == "false")) 
{ 
     console.log("the value of selected IDS="+e.selectedId); 
    if (e.selectedId!= undefined) 
    { 
     Value = ", "+e.selectedId; 

    } 
} 
} 
console.log(Value); 
} 


</script> 
</head> 
<body> 
<form name="hell"> 

<h1>This working only with IE not with FireFox and Crome </h1> 
<br/> 
<br/> 
<input type="hidden" selectedId="heyya1" name="item1" value="false">h1</input> 
<input type="hidden" selectedId="heyya2" name="item2" value="false">h2</input> 
<input type="hidden" selectedId="heyya3" name="item3" value="false">h3</input> 
<input type="hidden" selectedId="heyya4" name="item4" value="false">h4</input> 
<input type="hidden" selectedId="heyya5" name="item5" value="false">h5</input> 
<input type="hidden" selectedId="heyya6" name="item6" value="false">h6</input> 
<input type="button" onclick=createSelected() value="find the values"></input> 
</form> 


</body> 

---------------------------code end----------------------------------------- 

我々はIEでそれを行うことができますように、我々はFirefoxで(HTMLタグ内Selectedidのような)他のパラメータを使用する理由カントこの中で助けてください。

ありがとうございます。

+0

本当に働いたか???不思議なんだけど。 –

+0

このカスタム属性の代わりに単純な 'id = heyya ... 'だけではないのはなぜですか? – Andreas

+0

IEのために働いているが、fire foxのために働いていない。 – ifti

答えて

1

クロムで(申し訳ありませんが、私はFFを持っていないコンピュータを使用していますが、私はこの質問のためだけにインストールするつもりはありません).getAttribute()を使用すると動作します。だから、:

// replace 
e.selectedId; 
// with 
e.getAttribute("selectedId"); 

それとも、あなたの関数で:また

var id = e.getAttribute("selectedId"); 
console.log("the value of selected IDS="+id); 
if (id != null) 
{ 
    value += ", "+id; 
} 

、JavaScriptは、大文字と小文字が区別されますので、あなたの変数valueValueと同じではない、とあなたはどこでしょうValue =を言っていたことに注意してください「value +=」を意味します。また、要素の属性を引用符で囲むこともできます:onclick="createSelected()"

+0

ありがとうございました。 – ifti

0

以下のように選択してください。 getAttributeメソッドを使用します。

alert( "選択されたIDSの値=" + e.getAttribute( 'selectedId'));

関連する問題