Глядя на nsLoginManager.js , формы обычно заполняются при возникновении события DOMContentLoaded
(см. Вызов _fillDocument()
). Насколько я понимаю, вы вставляете свои элементы после того, как это событие уже обработано, чтобы их значения больше не восстанавливались. Однако можно явно вызвать nsILoginManager.fillForm () , чтобы восстановить значения полей после изменения формы:
Components.classes["@mozilla.org/login-manager;1"]
.getService(Components.interfaces.nsILoginManager)
.fillForm(form);
Этого должно быть достаточно, из кода кажется, что наличие атрибута id
необязательно.