Использование iframe на asp.net mvc 3 для создания редактора - PullRequest
1 голос
/ 18 марта 2012

Я использую iframe на asp.net mvc 3 для создания редактора. Это не работает.

Это JavaScript:

 $(document).ready(function () {
    document.getElementById('textEditor').contentWindow.document.designMode = "on";
    document.getElementById('textEditor').contentWindow.document.close();


    $("#save").click(function () {

    alert('ooosooooo');
    if ($(this).hasClass("selected")) {
        $(this).removeClass("selected");

    } else {
        $(this).addClass("selected");
    }

    on();

});

});


function on() {

var edit = document.getElementById("textEditor").contentWindow;
edit.focus();

//edit.document.execCommand('SaveAs', '1', 'e:\');
//edit.document.execCommand('foreColor', false, "#000000");
var ifi = document.getElementById('textEditor');
alert('ifi.innerHTML');
alert(ifi.innerHTML);

alert($("#textEditor").html());

//Trying to copy the content of text editor t hidden
//not working its always empty the textEditor
$("#hidden_field_id").val($("#textEditor").html());

edit.focus();
}

Это HTML:

     @using (Html.BeginForm("Save", "Home", FormMethod.Post, new { enctype = "multipart/form-data", target="textEditor"}))
       {

      @*this is the iframe*@
      <iframe id="textEditor" name="textEditor" width="100%" height="500px"></iframe>
      <input type="hidden" id="hidden_field_id" name="hidden_field_id" value="ww"/>
      <input type="submit" id="save" class="save" value="send" />             
       }

Проблема в том, что когда я вставляю текст в текстовый редактор, когда я нажимаю кнопку отправить / сохранить, значение, скопированное из iframe в скрытое, всегда пусто "".

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

я сделал это так:

function on() {


    edit.focus();

    var ifi = document.getElementById('textEditor');

    $("#hidden_field_id").val(ifi.contentWindow.document.body.innerHTML);

    edit.focus();
}

спасибо, педро

0 голосов
/ 18 марта 2012

Попробуйте следующее:

function on() {
    var edit = document.getElementById("textEditor").contentWindow;
    var html = $('body', edit.document).html();
    $("#hidden_field_id").val(html);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...