Направляющие: Сброс полей формы с обновлением страницы

У меня есть форма направляющих, которая имеет observe_field, который выполняет запрос ajax, когда выпадающий список изменяется. ajax заставляет форму быть повторно представленной (форма находится в частичном) с дополнительным параметрическим усилителем, который заставляет некоторый текст на странице изменяться. Все, что хорошо работает, но когда я обновляю страницу (я запускаю Firefox), текст сбрасывается, и выпадающий список не изменяет свое значение. Таким образом я заканчиваю с избранным значением, которое не соответствует динамическому тексту.

Я попытался установить выбранное значение значения по умолчанию выпадающего, но по некоторым причинам Firefox не изменит значение с обновлением страницы.

Это - код для выпадающего в представлении:

<%= select_tag :category, options_from_collection_for_select(@categories, :letter, :name, @letter) %>

@letter установлен динамично и управляет динамическим текстом на странице.

Это - действие, которое представляется на обновлении страницы:

def new

@part = Part.new
@letter = params[:letter] || "A"
@part.cpn = Part.find_next_cpn(@letter)
@categories = PartCategory.find(:all)
respond_to do |format|
  format.js
  format.html
end

конец

Мне нужен способ или сохранить информацию о динамическом тексте или сбросить выпадающее меню.

5
задан Audie 19 July 2010 в 20:12
поделиться

1 ответ

Вам необходимо отключить опцию «автозаполнение» - это сообщает браузеру, что вы не хотите, чтобы поле автоматически заполнялось.

Пример здесь: http://mspeight.blogspot.com/2007/06/disable-browsers-autocomplete-on-rails.html

Вы также можете сделать то же самое, но просто включите отключение автозаполнения для определенных полей.

Другими словами, форма не обновляется, потому что браузер пытается помочь, вводя последние данные, которые использовал клиент. Вам нужно сказать браузеру, чтобы он перестал быть полезным. Вы уже предоставляете нужные данные.

6
ответ дан 14 December 2019 в 13:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: