Ich verwende den Textbereich zur Eingabe von Text und im Formular submit, der in der Ansicht angezeigte Text behält keine Zeilenumbrüche und Leerzeichen bei.Das Speichern neuer Zeilen und Leerzeichen im Textbereich funktioniert nicht.
Textbereich:
<textarea type="text" id="topicDetails"></textarea>
Versuchte Text ersetzen mit dem folgenden:
postTopic(){
var content = document.getElementById('topicDetails').value;
// textcontent = content.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ "" +'$2');
// textcontent = content.replace("\r\n", "\\r\\n");
// textcontent = content.replace(/\r?\n/g, '<br />');
// textcontent = content.replace(/\r?\n/g, '
');
// var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
// textcontent = (content + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
textcontent = content.replace(/\n/g,"<br>")
var topic = {
"topicId" : new Date().getTime(),
"title": document.getElementById('title').value,
"details": textcontent,
"username": DataMixin.data.username,
"userImage": "assets/img/Logos Divine Light/6.png",
"dayPosted": new Date().toLocaleString()
}
console.log('posting blog..... ', topic);
self.data.blogTopicsArr.push(topic);
$.ajax({
url: "/new_topic",
type: "POST",
data: JSON.stringify(self.data.blogTopicsArr),
contentType: "application/json",
success: function (res) {
console.log('res is ', res);
if (res == 'Authentication failed'){
self.data.blogTopicsArr.splice(- 1, 1);
self.update(self.data.blogTopicsArr);
riot.route("signup_popup");
} else if (res == 'saved'){
console.log('blog posted successfully: ', self.data.blogTopicsArr);
document.getElementById('title').value = '';
document.getElementById('topicDetails').value = '';
self.update();
} else if (typeof res.redirect == 'string'){
console.log('res.redirect ', res.redirect);
riot.route(res.redirect)
}
},
error: function (err) {
console.log('err>>>>', err);
}
});
$('#myModal').modal('hide');
}
Versuchen drei verschiedene Möglichkeiten, ohne Glück. Der dritte Ansatz gibt die Ausgabe mit <br />
Tags. Wie konserviere ich neue Linien?
Ausgang ist:
Lorem Ipsum is simply dummy text.<br /> Industry's standard text ever since the 1500s, <br /><br />Why do we use it?<br />It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. <br /><br />
Update:
Nach erfolgreicher Form Post, ich bin die Aktualisierung der Ansicht Riot mit self.update();
oder this.update()
Update2
Eigentlich I bin sendi Die Formulardaten an die Datenbank senden und den Text aus der Datenbank abrufen, um ihn zu rendern. Aber der Text an die DB gesendet hat <br>
Tag eingefügt, bevor Sie es in der DB speichern, warum zeigt es Text als Lorem Ipsum is simply dummy text.<br /> Industry's standard text ever since the 1500s, <br />
??
Sagen Sie uns bitte, was Sie erreichen möchten? –
@ZakariaAcharki Wie im Titel erwähnt, möchte ich neue Zeilen und Leerstellen im Text beibehalten. Ich benutze Textarea, um Text einzugeben und beim Abschicken, der Leerraum oder neue Zeilen sind nicht erhalten – kittu
@ ÁlvaroGonzález Ich posten gerade ein Formular zum Server. Ich benutze Riotjs. Ich vermute, dass dies ein Riotjs Problem ist? – kittu