Firefox addon 将文本框动态更改为多行

Firefox addon 将文本框动态更改为多行,firefox-addon,xul,Firefox Addon,Xul,我正在开发Firefox扩展。我有一个简单的单行文本框。当用户粘贴文本时,我想检测文本是否有换行符,如果有,我想将文本框扩展为多行文本框 我有 <textbox id="textbox" rows="5" wrap="off" newlines="pasteintact" oninput="adjustTextbox(this)" flex="1"/> 问题是,当文本框转换为5行多行文本框时,粘贴的值丢失,文本框为空。我在这里做错了什么吗?简短回答:不,您没有做错任何事情,当您从单

我正在开发Firefox扩展。我有一个简单的单行文本框。当用户粘贴文本时,我想检测文本是否有换行符,如果有,我想将文本框扩展为多行文本框

我有

<textbox id="textbox" rows="5" wrap="off" newlines="pasteintact" oninput="adjustTextbox(this)" flex="1"/>

问题是,当文本框转换为5行多行文本框时,粘贴的值丢失,文本框为空。我在这里做错了什么吗?

简短回答:不,您没有做错任何事情,当您从单线切换到多线时,该值将被清除。详细回答:
元素实际上并不包含值本身,而是包含一个匿名的

adjustTextbox(txtBox) {
  if(!txtBox.getAttribute('multiline') && txtBox.value.match(/[\r\n]/)) {
    txtBox.setAttribute('multiline', true);
  }
}