Javascript 如何将文本框强制设置为;改为;即使用户没有键入任何内容。从nsIFilePicker设置的值
我正在开发XUL Firefox扩展。我的一个窗口是“选项”首选项窗口,其中包括一个Javascript 如何将文本框强制设置为;改为;即使用户没有键入任何内容。从nsIFilePicker设置的值,javascript,firefox,firefox-addon,xul,Javascript,Firefox,Firefox Addon,Xul,我正在开发XUL Firefox扩展。我的一个窗口是“选项”首选项窗口,其中包括一个文本框。文本框应该包含一个文件路径。我使用一个按钮和nsIFilePicker让用户选择文件。框中的文本已更新,但更改永远不会反映在extensions首选项中。仅当用户直接在文本框中键入时,此功能才起作用。是否有任何方法可以“强制”应用更改,即使更改不是使用键盘进行的 onPrivKeyBtn: function() { const nsIFilePicker = CI.nsIFilePicker; v
文本框
。文本框
应该包含一个文件路径。我使用一个按钮和nsIFilePicker
让用户选择文件。框中的文本已更新,但更改永远不会反映在extensions首选项中。仅当用户直接在文本框中键入时,此功能才起作用。是否有任何方法可以“强制”应用更改,即使更改不是使用键盘进行的
onPrivKeyBtn: function() {
const nsIFilePicker = CI.nsIFilePicker;
var fp = CC["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, "Select File", nsIFilePicker.modeOpen);
fp.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterXML);
if (fp.show() != nsIFilePicker.returnCancel) {
var file = fp.file;
var path = fp.file.path;
document.getElementById("privKeyBox").value = path;
}
}
正如我前面提到的,它是一个首选项窗口。因此,我检查了当直接在文本框中键入时,首选项是否已更新。只有通过onPrivKeyBtn
功能进行更改时,它才会出现问题
谢谢 您可以设置而不是设置文本框的值
或者,具有userChangedValue(elem)
方法
最后,您可以自己触发change
事件(.createEvent()
,textbox.dispatchEvent()
),但这等于调用.userChangedValue(elem)
,您可以设置而不是设置文本框的值
或者,具有userChangedValue(elem)
方法
最后,您可以自己触发一个change
事件(.createEvent()
,textbox.dispatchEvent()
),但这等于调用.userChangedValue(elem)
只是为了清除,textboxprivKeyBox
在预窗格中,文本框privKeyBox
在prefpane
中?