Autor Zpráva
jaromir
Profil *
Zdravím, v js se ještě moc neorientuju, ale mám tu jeden kod, který vypisuje text z textareny. Problém je, že ten text vypíše v jednom řádku, ikdyž při zadávání je text rozdělen do více řádků.
Nevím jestli existije funkce jako nl2br v php i pro js. Můžete mi prosím poradit, jak to v tomto kodu udělat?
Předem díky.


function showEditBox(id) {
    $('#frmAdd').hide();
    var currentMessage = $("#message_" + id + " .message-content").html();
    var editMarkUp = '<textarea rows="5" cols="80" id="txtmessage_'+id+'">'+currentMessage+'</textarea><button name="ok" onClick="callCrudAction(\'edit\','+id+')">Save</button><button name="cancel" onClick="cancelEdit(\''+currentMessage+'\','+id+')">Cancel</button>';
    $("#message_" + id + " .message-content").html(editMarkUp);
}
function cancelEdit(message,id) {
    $("#message_" + id + " .message-content").html(message);
    $('#frmAdd').show();
}
function callCrudAction(action,id) {   
    $("#loaderIcon").show();
    var queryString;
    switch(action) {
        case "add":
            queryString = 'action='+action+'&txtmessage='+ $("#txtmessage").val();
        break;
        case "edit":
            queryString = 'action='+action+'&message_id='+ id + '&txtmessage='+ $("#txtmessage_"+id).val();
        break;
        case "delete":
            queryString = 'action='+action+'&message_id='+ id;
        break;
    }     
    jQuery.ajax({
    url: "crud_action.php",
    data:queryString,
    type: "POST",
    success:function(data){
        switch(action) {
            case "add":
                $("#comment-list-box").append(data);
            break;
            case "edit":
                $("#message_" + id + " .message-content").html(data);
                $('#frmAdd').show();
            break;
            case "delete":
                $('#message_'+id).fadeOut();
            break;
        }
        $("#txtmessage").val('');
        $("#loaderIcon").hide();
    },
    error:function (){}
    });
}
Keeehi
Profil
Můžeš si ji vytvořit
function nl2br (str) {
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2');
}
jaromir
Profil *
Keeehi:
Když ji vytvořím, tak to funguje ale jen u prvního řádku..další řádky už se chovají, jak kdyby tam ta funkce nebyla.
Ale i tak díky
Keeehi
Profil
OK, tak verze 2
function nl2br (str) {
    return str.replace(new RegExp('\r?\n','g'), '<br>');
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: