Я возился с радиобоксом. Я столкнулся с проблемой, которая варьируется в зависимости от браузера, который использует пользователь. По сути, моя цель - генерировать другие данные на странице в зависимости от выбранного радиобокса. Важно, чтобы эти данные были синхронизированы с радиобоксом. Обычно это не проблема: я запускаю приведенный ниже код при изменении выбора.
Однако существуют проблемы с тем, как браузеры часто кешируют, какой флажок установлен. IE, кажется, ждет, пока скрипт не завершит работу, а затем переключает, какой радиобокс выбран. Firefox, с другой стороны, запоминает, какой флажок установлен, и отображает его соответственно ... но свойство флажок игнорирует это. Я могу заставить Firefox синхронизировать эту информацию, сняв флажок и установив флажок (две закомментированные строки кода ниже), хотя это немного не по себе.
В настоящее время моя лучшая идея - генерировать радиоблоки с помощью скрипта, чтобы убить возможность браузеров их кэшировать. Кто-нибудь может предложить менее хакерскую альтернативу?
<br />
<input type="radio" name="DataRadio" checked="checked"
Value="V1" onclick="doDataRadio()" />V1
<br />
<input type="radio" name="DataRadio"
Value="V2" onclick="doDataRadio()" />V2
<br />
<input type="radio" name="DataRadio"
Value="V3" onclick="doDataRadio()" />V3
function selCountry()
{
var len = theForm.DataRadio.length;
for (i = 0; i < len; i++) {
if (theForm.DataRadio[i].checked)
{
chosen = theForm.DataRadio[i].value;
//theForm.DataRadio[i].checked = false;
//theForm.DataRadio[i].checked = true;
alert(chosen);
}
}
}