Я использую прототип JavaScript (через Ruby on Rails) для обработки некоторых вызовов Ajax; но в одном конкретном случае мне не хватает поля в форме.
У меня есть такой макет:
+---------+---------+
| Thing 1 | Thing 2 |
+---------+---------+-----------+
| o Opt 1 | o Opt 1 | <Confirm> |
| o Opt 2 | o Opt 2 | |
+---------+---------+-----------+
Опция 1 и 2 - это переключатели, кнопка подтверждения - кнопка. Вся таблица обернута в форму с кодом:
<form action="javascript:void(0)">
<input type="hidden" name="context" value="foo" />
<input type="hidden" name="subcontext" value="bar" />
<table>
<tr><td>Thing 1</td><td>Thing2</td></tr>
<tr><td>
<input type="radio" name="choice" value="1.1" />Opt 1<br />
<input type="radio" name="choice" value="1.2" />Opt 2<br />
</td><td>
<input type="radio" name="choice" value="2.1" />Opt 1<br />
<input type="radio" name="choice" value="2.2" />Opt 2<br />
</td><td>
<input name="choice_btn" type="button" value="Confirm"
onclick="new AJAX.Updater('my_form', '/process_form',
{asynchronous:true, evalScripts:true,
parameters:Form.serialize(this.form)});
return false;" />
</td></tr>
</table>
</form>
Но я вижу, что POST, генерируемый нажатием кнопки «Подтвердить», содержит значения foo
и bar
для скрытых полей, но не выбор переключателей.
Это потому, что у меня есть таблица внутри моей формы? Как я могу обойти это?