ユーザーが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\"> </span>"
)