Я пытаюсь превратить <label/>
и <input type="radio"/>
в одну кнопку, которая при нажатии добавляет этот продукт в корзину покупок. В этом примере рассматривается 1 продукт с потенциально множественными вариантами (т. Е. Продукт будет «джинсовые джинсы», варианты будут размером «26», «27», «28»).Проблема с перекрестным браузером Относительно onchange/onfocus
HTML, будет выглядеть примерно так,
<label for="radio_denim26">
<span>26</span>
<input type="radio" style="position:absolute;top:-30px;left:-30px;" value="denim26" id="denim26" checked="checked" onfocus="form.submit();" onchange="form.submit();" />
</label>
<label for="radio_denim27">
<span>27</span>
<input type="radio" style="position:absolute;top:-30px;left:-30px;" value="denim27" id="denim27" checked="checked" onfocus="form.submit();" onchange="form.submit();" />
</label>
<label for="radio_denim28">
<span>28</span>
<input type="radio" style="position: absolute;top:-30px;left:-30px;" value="denim28" id="denim28" checked="checked" onfocus="form.submit();" onchange="form.submit();" />
</label>
** CSS-на <input/>
должны скрывать кнопки радио от видимости *
Это прекрасно работает в IE 8, IE 7 и IE 6 (удивительно!) Он также работает в Safari/Chrome. Это не Работа в Firefox. Когда я нажимаю на конкретный вариант, скажем, «27», он добавит последний вариант в группу в корзину, то есть «28».
Последнее замечание, если я удалю onfocus="form.submit();"
, он отлично работает в Firefox, но уже не в IE 7-.
Также обратите внимание, что IE d (по крайней мере, IE6) неправильно понимает, что входной тег внутри