Фон
У меня есть два выбранных поля формы, связанных между собой: продолжительность и частота. Когда пользователь выбирает частоту, параметры длительности вставляются динамически. Существуют параметры по умолчанию, но они таковы, что поле не становится пустым, когда пользователь его расширяет.
Например, параметры частоты: «день», «другой день» и «неделя». Если я выберу «день», параметры частоты изменятся на «5 дней», «15 дней» и «30 дней».
Задача
Проблема возникает, когда пользователь отправляет форму с ошибками, форма возвращается со всеми заполненными полями формы и подсвечиваются ошибки - за исключением поля выбора частоты - параметры которого генерируются динамически. Он не выделен, и его параметры являются параметрами по умолчанию.
Можно ли как-то изменить эти параметры, если пользователь отправит сообщение об ошибке. Мы делаем небольшую проверку JavaScript, поэтому такая ситуация не должна возникать так часто, но мы хотели бы сделать так, чтобы ошибка была настолько безболезненной, насколько это возможно для пользователей.
Код
Я использую jquery и плагин jquery под названием cascade, чтобы связать два поля вместе.
(http://plugins.jquery.com/project/cascade)
Вот мой пользовательский JavaScript.
Этот скрипт генерирует список опций:
var list1 = [
{'When':'86400','Value':' ','Text':' '},
{'When':'172800','Value':' ','Text':' '},
{'When':'604800','Value':' ','Text':' '},
{'When':'86400','Value':'432000','Text':'5 days'},
{'When':'86400','Value':'1296000','Text':'15 days'},
{'When':'86400','Value':'2505600','Text':'30 days'},
{'When':'172800','Value':'1296000','Text':'15 days'},
{'When':'172800','Value':'2505600','Text':'30 days'},
{'When':'172800','Value':'3888000','Text':'45 days'},
{'When':'604800','Value':'2505600','Text':'4 weeks'},
{'When':'604800','Value':'3715200','Text':'6 weeks'},
{'When':'604800','Value':'4924800','Text':'8 weeks'}
];
function commonTemplate(item) {
return "<option value='" + item.Value + "'>" + item.Text + "</option>";
};
function commonMatch(selectedValue) {
return this.When == selectedValue;
};
И это скрипт, который запускает генерацию опций выбора:
jQuery("#duration).cascade("#frequency",{
list: list1,
template: commonTemplate,
match: commonMatch
})
Вопрос
Любые мысли о том, как получить динамически сгенерированные параметры частоты для повторного заполнения, когда форма возвращается в браузер с ошибками? Можно ли использовать каскадный плагин, который я сейчас использую, или какой-то другой метод?
Помощь очень ценится. : -)