Фон У меня есть два поля формы формы, соединенные вместе: длительность и частота. Когда пользователь выбирает частоту, параметры продолжительности динамически вставляются. Существуют параметры по умолчанию, но это просто так, что поле не пусто, когда пользователь расширяет его.Как вы повторно заполняете динамически сгенерированные параметры для поля выбора?
Например, частотными параметрами являются «день», «другой день» и «неделя». Если я выбираю «день», параметры частоты меняются на «5 дней», «15 дней» и «30 дней».
Проблема Проблема возникает, когда пользователь отправляет форму с ошибками, форма возвращается со всем полем формы заново заселена и ошибки выделены - для выбора поля частот, за исключением - чьи параметры динамически генерироваться. Он не подсвечивается, и его параметры являются параметрами по умолчанию.
Есть ли способ, чтобы эти параметры были повторно заполнены, если пользователь отправил с ошибкой. Мы делаем довольно немного проверки JavaScript, так что эта ситуация не должна происходить так часто, но хотелось бы получить ошибку как безболезненный опыт, насколько это возможно для пользователей.
Код Я использую jquery и плагин jquery, называемый каскадом, чтобы связать два поля вместе. ()
Это мой собственный 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
})
Вопрос в Любых мыслей о том, как получить динамически генерируемые частотные параметры для повторного заполнения, когда форма возвращается в браузер с ошибками? Может ли использовать каскадный плагин, который я сейчас использую, или какой-либо другой метод?
Помощь очень ценится. :-)
+ 1 для хорошо сформулированного вопроса от первого пользователя времени. Это почти слишком редкое событие вокруг этих частей ... –
Спасибо, Паоло. :) Действительно хотел убедиться, что у меня есть хороший ответ, поэтому задал подробный вопрос. Надеюсь, я тоже не зашел за борт. – Rick