Фон У меня есть два поля формы выбора, связанные вместе: продолжительность и частота. Когда пользователь выбирает частоту, параметры длительности вставляются динамически. Существуют параметры по умолчанию, но они нужны только для того, чтобы поле не было пустым, когда пользователь расширяет его.
Например, параметры частоты: «день», «другой день» и «неделя». Если я выберу «день», параметры частоты изменятся на «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
})
Вопрос Есть какие-нибудь мысли о том, как заставить динамически генерируемые параметры частоты повторно заполняться, когда форма возвращается в браузер с ошибками? Можно ли использовать каскадный плагин, который я сейчас использую, или какой-то другой метод?
Помощь очень ценится. :-)