Я вижу, что есть много связанных вопросов по этому вопросу, и, читая их, я предполагаю, что это проблема getElementById, так как это, похоже, проблема в вопросах других людей, но я не совсем уверен, чтоЯ поступил неправильно.Следующее работает в FireFox без сообщений на консоли ошибок и FireBug, отображающих правильные значения:
function updateSQ() {
var sQuestion = document.getElementById('<%=sQuestion.ClientID%>');
sQuestion.value = "";
var questions = document.getElementsByName('selectQuestion');
for (question in questions) {
if (questions[question].value != null)
sQuestion.value += questions[question].value + ",";
}
alert(sQuestion.value);
}
Эта функция вызывается динамически генерируемым тегом выбора HTML:
<SELECT id="squestion1" name="selectQuestion" onchange="updateSQ();">
<OPTION value="notChosen">--Please Select One--</OPTION>
<OPTION value="in">India</OPTION>
<OPTION value="de">Germany</OPTION>
<OPTION value="fr">France</OPTION>
<OPTION value="us">United States</OPTION>
<OPTION value="ch">Switzerland</OPTION>
</SELECT>
Как видите, javascript пытаетсячтобы обновить значение элемента управления ASP.NET: <asp:HiddenField ID="sQuestion" runat="server" value="" />
Идея состоит в том, что при изменении выбора он вызывает JS и сохраняет значения из всех операторов выбора в элемент управления ASP.NET (что-то вроде неуклюжей работы для раздражающего набора требований и устаревшего кода, который меня попросили использовать).
Последнее предупреждение имеет ожидаемые значения в Firefox, но в IE7 это пустая строка, поддерживающая идею о том, чтоЯ просто не могу найти правильный тег.Любой вклад с благодарностью.Спасибо.