Динамически изменить идентификатор входа со значением - тип ввода = диапазон - PullRequest
1 голос
/ 05 января 2012

Я делаю мобильное приложение iOS для запроса разрыва телефонных номеров для оценки курса в моем универе. Эта основная функция приложения будет формой, которая в своей первоначальной форме использует радиокнопки, где каждому значению также соответствует соответствующий идентификатор - например,

<input name="q10" id="1" value="1" type="radio" />
<input name="q10" id="2" value="2" type="radio" />
<input name="q10" id="3" value="3" type="radio" />
<input name="q10" id="4" value="4" type="radio" />
<input name="q10" id="5" value="5" type="radio" />
<input name="q10" id="6" value="6" type="radio" />

Но радио-кнопки не настолько интуитивно понятны на устройствах с iOS, поэтому вместо них я использую диапазон типов ввода. Это прекрасно работает для изменения значения от 1 до 6, но проблема в том, что один задает только один идентификатор для всего ввода, а не один идентификатор на значение.

<input type="range" name="q10" id="q10" value="0" min="0" max="6"  />

Есть ли способ изменить идентификатор со значением? Я думаю, что это должно быть осуществимо с помощью JavaScript, но мне не хватает ноу-хау. Я также не могу изменить способ настройки базы данных (требуются идентификатор и значение), поскольку эта база данных принадлежит ИТ-отделу университета.

Ответы [ 2 ]

1 голос
/ 06 января 2012

Вы можете использовать событие change

<input type="range" onchange="this.id=this.value" name="q10" id="q10" value="0" min="0" max="6" />

Рабочий пример здесь - http://jsfiddle.net/aVHm8/

Примечание: Мне всегда неловкоизменение идентификатора элемента DOM .. возможно, вам следует изучить лучшие варианты решения вашей проблемы

0 голосов
/ 06 января 2012

База данных не может знать, что такое id, если вы не используете JavaScript для отправки его на сервер (при отправке стандартной формы name и value). В этом случае найдите бит JS, который извлекает идентификатор, и просто вместо этого отправьте значение дважды.

...