【发布时间】:2012-07-12 13:51:28
【问题描述】:
我有一个用户通过网络访问的 Lotus Notes 表单,在这个表单上是一个带有文本区域的区域,供用户输入详细信息。提交表单后,该值将作为字符串存储在注释文本字段中。我已经用<br/> 替换了回车,这样当通过浏览器查看表单时,文本的格式就会正确。当通过浏览器编辑文档时,我将 <br> 替换为 /r/n 以便文本区域具有正确的布局。问题是在 IE 中的第一行 textareas 显示第一行上的文本,而 textarea 中的其他文本行被隐藏,如果您使用 enter 编辑文本或添加字符,则会出现隐藏的文本.在 Chrome 和 firefox 中,文本显示正确
我有一些将表格值写入文本区域的 javascript
//creates columns with fields and buttons
for(var c=1; c < colCount; c++) {
switch(c){
case 1:
el = document.getElementById("step" + f + "-1");
if (readMode) {
el.innerHTML=storeSteps.value;
} else {
var t=storeSteps.value.replace(/<br\s?\/?>/g,"\n");
el.value= t;
}
问题仅出现在表格的第一行,表格的其余部分创建 textareas 并添加没有问题的内容。在此表单上创建 textareas 的方式的唯一区别是第一行是表单上的计算字段,而表单的其余部分使用 javascript 添加新的字段行
case 2:
cell = row.insertCell(i);
cell.className = "potential-col";
el = document.createElement(elTagName);
if (!readMode) {
el.name = "potential" + tableCount + "-" + rowCount;
}
el.id = "potential" + tableCount + "-" + rowCount;
el.setAttribute("cols","25");
el.setAttribute("rows","4");
cell.appendChild(el);
break;
表单上的计算域是使用以下代码创建的
TableCount := "1";
@If(
@IsDocBeingEdited;
"<textarea rows=\"4\" cols=\"25\" name=\"step" +TableCount + "-1\" id=\"step" +TableCount + "-1\" value=\"\" onfocus=\"displayNextRow(" +TableCount + ")\" /></textarea>";
"<span id=\"step" +TableCount + "-1\"> </span>"
)
【问题讨论】:
标签: javascript internet-explorer textarea lotus-notes