プログラムのテキストエリアでjEditableプラグインを使用しています。私がやりたいのは、テキスト領域をクリックしたときに、次のようなものを入力したいことです。最初にこれを行うこの2番目を行うこの3番目を行う。
送信するとき、jEditableに現在のテキストエリアと同じフォーマットを維持させたいのですが、テキストエリアをクリックして再度編集すると、次のように表示されます。最初に
これを行う2番目
に行うこの3番目に行う。
テキストエリアをもう一度クリックして編集し、HTMLではなくユーザーフレンドリーなテキストを表示できるようにしたいのですが、フォーマットをそのままにしておく必要があります。
以下は私のJavaScript、ビュー、コントローラーです。どんな助けでも素晴らしいでしょう!
Javascript:
$(".textarea").editable("/ShoppingList/UpdateNotesReminders",
{
type : 'textarea',
rows : 7,
columns : 15,
cancel : 'Cancel',
submit : 'Save',
method: 'POST',
placeholder : 'No Notes have been entered',
callback: function(value, settings) {
var retval = value.replace(/\n/gi, "<br>");
$(this).html(retval);
}
});
アクション:
//This action is called when save button is clicked after editing notes and reminders.
[ValidateInput(false)]
public string UpdateNotesReminders(string id, string value)
{
HttpCookie notesRemindersCookie = new HttpCookie("notesRemindersCookie");
notesRemindersCookie.Value = value.Replace("<br>", "%0a");
notesRemindersCookie.Expires = DateTime.Now.AddDays(1);
this.ControllerContext.HttpContext.Response.Cookies.Add(notesRemindersCookie);
return value;
}
意見:
<div class="textarea dynform" id="NotesReminders">@Html.Raw(Model.NotesReminders)</div>