Lotus Notes web表单-IE中的文本区域问题

Lotus Notes web form - textarea issue in IE

本文关键字:文本 区域 问题 -IE Notes web 表单 Lotus      更新时间:2023-09-26

我有一个lotus notes表单,用户可以通过web访问,这个表单上有一个带有文本区域的区域,用户可以在其中输入详细信息。表单提交后,值将作为字符串存储在注释文本字段中。我已经用<br/>替换了回车,这样当通过浏览器查看表单时,文本的格式就会正确。当通过浏览器编辑文档时,我将<br>替换为/r/n,以便文本区域具有正确的布局。问题是,在IE中的第一行文本区域中,第一行的文本被显示,而文本区域中的其他文本行被隐藏,如果您用回车键编辑文本或添加字符,则隐藏的文本会出现。在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;
    }

问题只发生在表的第一行,表的其余部分创建文本区域并添加内容,没有任何问题。在这个表单上创建文本区域的唯一区别是,第一行是表单上的计算字段,表单的其余部分使用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'">&nbsp;</span>"
    )

答案是与文本区域的样式有关,有一个宽度为100%的css文件。设置一个边框样式并将宽度更改为px值,这样就解决了的问题