0

ユーザーがWeb経由でアクセスするロータスノートフォームがあります。このフォームには、ユーザーが詳細を入力するためのテキストエリアがある領域があります。フォームが送信されると、値は文字列としてメモのテキストフィールドに保存されます。<br/>フォームをブラウザで表示したときにテキストが正しい形式でフォーマットされるように、キャリッジリターンをに置き換えました。ドキュメントをブラウザで編集する場合は<br>、テキスト領域が正しいレイアウトになるように/ r/nに置き換えます。問題は、IEでテキストエリアの最初の行が表示され、テキストエリアの他のテキスト行が非表示になることです。Enterキーを押してテキストを編集するか、文字を追加すると、非表示のテキストが表示されます。 。ChromeとFirefoxでは、テキストが正しく表示されます

テーブルの値をtextareasに書き込む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を作成する方法との唯一の違いは、最初の行がフォームの計算フィールドであり、フォームの残りの部分が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>"
    )
4

1 に答える 1

0

答えは、テキストエリアのスタイリングに関係するもので、幅が 100% の css ファイルがありました。境界線のスタイルを設定し、幅を px 値に変更すると、出来上がりの問題が解決しました

于 2012-07-16T04:32:36.453 に答える