Проблема независимости браузера Код работает для IE, но не для Firefox и Chrome - PullRequest
0 голосов
/ 27 декабря 2011

если я запускаю один и тот же код для IE, то все в порядке, я получаю значение selectedId, где, как для Firefox и Chrome, оно дает значения Undefine

----------------- 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-----------------------------------------

, пожалуйста, помогите, почему мы не можем использовать другой параметр (например, Selectedid внутри тега HTML) в FireFox, как мы можем сделать это в IE.

спасибо заранее ..

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

В Chrome (извините, я использую компьютер без 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 чувствителен к регистру, поэтому ваша переменная value отличается от Value,и вы говорили Value =, где вы, вероятно, имели в виду value +=.И вы можете захотеть использовать кавычки вокруг атрибутов вашего элемента: onclick="createSelected()".

0 голосов
/ 27 декабря 2011

Попробуйте прочитать выбранный идентификатор, как показано ниже. Используйте метод getAttribute

alert ("значение выбранного IDS =" + e.getAttribute ('selectedId'));

...