PHP: Ajax metinde satır kıvrımlar sayar

2 Cevap php

Benim AJAX script tüm çizgi kıvrımlar sayar neden anlamıyorum. Ben ilk textarea metni yazın ve ardından düğmesine göndermek için onclick koydu. İşte benim AJAX hayata geçirilmesidir:

// creating ajax object
// ====================

function createRequestObject(){
try { return new XMLHttpRequest() }
catch(e)
{
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e)
{
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}

// message options (save, cancel)
// ==============================

function form1(text){
var http = createRequestObject();
if(http){
http.open("GET", "my_script.php?text=" + text);
http.onreadystatechange = function (){
if(http.readyState == 4){
alert("Ok!");
}
}
http.send(null);
} else {
document.location = "my_script.php?text=" + text;
}
}

html form

<p align="justify" style="margin-right:10; margin-left:10;">

<table style="margin-right:10; margin-left:10;" align="center" border="0" cellpadding="0" cellspacing="0" width="680">
<TBODY>
<form name="fgform">
<tr>
<td width="680" height="100" colspan="2"><p><textarea id="edit_text1" name="edit_text" rows="3" style="width: 680; height: 100;"></textarea></p></td>
</tr>

<tr>
<td width="340"><p><input type="button" id="saveB" value="Save Text" style="color:rgb(0,204,0); background-color:white; border-width:1; border-color:rgb(225,218,202); border-style:solid; width:100;" onclick="form1(document.getElementById('edit_text1').value);"></p></td>
<td width="340"><p align="right">&nbsp;</p></td>
</tr>
</form>
</TBODY>
</table>

2 Cevap

Html görüntülemeden önce nl2br () fonksiyonu ile ornek_betik.php tarafından metin çıktı davranın

Ayrıca bu gibi url veri göndermek için kaçış işlevini kullanmanız gerekir:

document.location = "my_script.php?text=" + escape(text);

Beyler, ben bir cevap buldum kendimi! :-)

Burada özel bir karakter ile tüm hat kıvrımlar yerini özel bir işlevdir.

// multiply replacing function
// ===========================

function repl(text,replaceData1,replaceData2){
if(text.indexOf(replaceData1)==-1){
return text;
}
return text.split(replaceData1).join(replaceData2);

Ardından, onclick olayı ile gönder butonuna tıklayarak ederken ornek_betik.php göndermeden önce textarea tüm çizgi kıvrımlar değiştirmek için böyle bir işlevi yukarıda kullanın:

onclick="form1(repl(document.getElementById('edit_text1').value,'\r\n','|'));