|
|
|
| Здравствуйте.
Есть примерно такой код:
<FORM action="send.php" method="POST" name="form">
<textarea name="mess" rows="16"></textarea>
<a href="javascript:void(null)" onclick="javascript:sendRequest(test.php?send='+document.form.mess.value, 'result', getRequest);">Отправить письмо</a>
</form>
|
письмо отправляется на аяксе.
Но в аякс файл переменная $send идет без переноса строк.
Например, было:
тест
тест
тест
а в переменную $send передается "тест тест тест"
Как это можно поправить? | |
|
|
|
|
|
|
|
для: jaroslav
(20.03.2009 в 19:23)
| | Никто не знает ответ на этот вопрос???
Уже, кстати, поднимал раньше... ) | |
|
|
|
|
|
|
|
для: jaroslav
(20.03.2009 в 19:23)
| | Письмо вообще-то отправляется сервером. А с чего вы решили, что переводы строк пропадают, каким образом вы это проверяете? | |
|
|
|
|
|
|
|
для: sim5
(21.03.2009 в 10:00)
| | Вот пример:
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="JavaScript" src="ajax.js" type="text/javascript"></script>
</head>
<body>
<FORM action="send.php" method="POST" name="form">
<table>
<tr><td>
Текст сообщения<br>
<textarea name="mess_letter" rows="16"></textarea>
</td>
</tr>
<tr><td>
<a href="javascript:void(null)" onclick="javascript:sendRequest('ajax_send_letter.php?mess_letter='+document.form.mess_letter.value, 'result', getRequest);">Отправить письмо</a>
</td></tr>
</table>
<div id="result"></div>
</form>
</body>
</html>
|
ajax.js
var httpRequest = createHttpRequest();
var resultId = '';
function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Loading... <img src="loading.gif">';
httpRequest.open('get', file);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}
function getRequest() {
if (httpRequest.readyState == 4) {
document.getElementById(resultId).innerHTML = httpRequest.responseText;
}
}
function createHttpRequest()
{
if (window.XMLHttpRequest) {
try {
return new XMLHttpRequest();
} catch (e){}
} else if (window.ActiveXObject) {
try {
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
}
}
return null;
}
|
ajax_send_letter.php
<?
header('Content-type: text/html; charset=Windows-1251');
$_REQUEST[mess_letter]=nl2br($_REQUEST[mess_letter]);
echo $_REQUEST[mess_letter];
?>
|
Вот полный пример аякса...
Когда заполняю поле textarea - в файл все передается в одну строчку....
Помогите!!! Плиз... ). | |
|
|
|
|
|
|
|
для: Jaroslav
(21.03.2009 в 10:46)
| | Там у Вас еще со спецсимволами проблема будет. Вот рабочий вариант, правда я его малеько перекроил на свой лад, необессудьте.
<script type="text/javascript" language="javascript">
var httpRequest = createHttpRequest();
var resultId = '';
function createHttpRequest()
{
if (window.XMLHttpRequest) {
try {
return new XMLHttpRequest();
} catch (e){}
} else if (window.ActiveXObject) {
try {
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
}
}
return null;
}
function sendRequest() {
var q = document.getElementById('mess_letter').value;
var qt = 'mess_letter='+encodeURIComponent(q);
document.getElementById('result').innerHTML = 'Loading... <img src="loading.gif">';
httpRequest.open('post', 'ajax_send_letter.php', true);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
httpRequest.send(qt);
}
function getRequestProc() {
if (httpRequest.readyState == 4)
document.getElementById('result').innerHTML = httpRequest.responseText;
}
</script>
|
<tr><td>
Текст сообщения<br>
<textarea id="mess_letter" rows="16"></textarea>
</td>
|
<a href="javascript:void(null)" onclick="javascript:sendRequest();">Отправить письмо</a>
|
Аякс не любит виндовских кодировок, делайте сразу в utf-8, что бы не конвертировать потом. | |
|
|
|
|
|
|
|
для: Николай2357
(22.03.2009 в 09:21)
| | Большое спасибо.
Вроде, то, что надо :) | |
|
|
|
|
|
|
|
для: Николай2357
(22.03.2009 в 09:21)
| | Подскажите, пожалуйста, как можно доработать данный скрипт, чтобы кроме текстового поля можно было загружать файл на аяксе? | |
|
|
|
|
|
|
|
|
для: Zend72
(26.03.2009 в 21:19)
| | не могу придумать, что надо изменить в этом скрипте, чтобы на странице было несколько форм для отправки файлов... ( | |
|
|
|