Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2014, 15:21
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

Отправка формы
Привет, возникли трудности понимания, сообщения всё отправляется при помощи ajax но не выскакивает окно при успешной передачи

$.ajax({
			type: "post",
			dataType: "json",
			url: 'send.php',
			data: {
				phone: $phone, fio: $fio, adres: $adres
			},
			success: function(response) {
				if(response.status == 'OK')
					$response.parent().html(response.msg);
				else if(response.status == 'error')
					$response.text(response.msg);
			}
		});



Интересует
if(response.status == 'OK')
					$response.parent().html(response.msg);
				else if(response.status == 'error')

я так понял нужно в send.php прописать какой ответ будет например текст, если отправили, только не совсем понял что именно нужно прописать?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2014, 15:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от soltx
только не совсем понял что именно нужно прописать?
Как вариант...
{
   status: 'OK'
}
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2014, 15:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$response = array('status'=>'OK', 'msg' => 'Тут месага');

header('Content-Type: application/json');
echo json_encode($response);


Только обычно вместо status:'ok'/'error' используют success:true/false
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2014, 15:50
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

Сообщение от ksa Посмотреть сообщение
Как вариант...
{
   status: 'OK'
}

мне нужно сообщение вывести например "Отправлено"

сделал так, результатов не принесло
if(response.status == 'OK')
				{
					status: 'OK';

				}
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2014, 15:51
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

Сообщение от danik.js Посмотреть сообщение
$response = array('status'=>'OK', 'msg' => 'Тут месага');

header('Content-Type: application/json');
echo json_encode($response);


Только обычно вместо status:'ok'/'error' используют success:true/false
спс

только в самом send.php не совсем понял где вывести Content-Type и echo

<?php

//Retrieve form data. 
//GET - user submitted data using AJAX
//POST - in case user does not support javascript, we'll use POST instead
$fio = ($_GET['fio']) ? $_GET['fio'] : $_POST['fio'];
$phone = ($_GET['phone']) ?$_GET['phone'] : $_POST['phone'];
$adres = ($_GET['adres']) ?$_GET['adres'] : $_POST['adres'];

$response = array('status'=>'OK', 'msg' => 'Тут месага');
header('Content-Type: application/json');
echo json_encode($response);


//flag to indicate which method it uses. If POST set it to 1
if ($_POST) $post=1;

//Simple server side validation for POST data, of course, you should validate the email



//if the errors array is empty, send the mail
if (!$errors) {

	//recipient
	$to = 'Your Name <exampe@gmail.com>';	
	//sender
	$from = $fio . ' <example@gmail.com>';
	
	//subject and the html message
	$subject = 'Comment from ' . $name;	
	$message = '
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head></head>
	<body>
	<table>
		<tr><td>Fio</td><td>' . $fio . '</td></tr>
		<tr><td>Phone</td><td>' . $phone . '</td></tr>
		<tr><td>Adres</td><td>' . $adres . '</td></tr>
	</table>
	</body>
	</html>';

	//send the mail
	$result = sendmail($to, $subject, $message, $from);
	
	//if POST was used, display the message straight away
	if ($_POST) {
		if ($result) echo 'Thank you! We have received your message.';
		else echo 'Sorry, unexpected error. Please try again later';
		
	//else if GET was used, return the boolean value so that 
	//ajax script can react accordingly
	//1 means success, 0 means failed
	} else {
		echo $result;	
	}

//if the errors array has values
} else {
	//display the errors message
	for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
	echo '<a href="/">Back</a>';
	exit;
}


//Simple mail function with HTML header
function sendmail($to, $subject, $message, $from) {
	$headers = "MIME-Version: 1.0" . "\r\n";
	$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
	$headers .= 'From: ' . $from . "\r\n";
	
	$result = mail($to,$subject,$message,$headers);
	
	if ($result) return 1;
	else return 0;
}

?>

Последний раз редактировалось soltx, 21.10.2014 в 15:58.
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2014, 16:00
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от soltx
мне нужно сообщение вывести например "Отправлено"
Так тебе это нужно в ПХП файле или уже на клиенте в скрипте?
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2014, 16:08
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

в клиент скрипте человек вызвал форму если все удачно отправилось то вывелось сообщение "бла бла бла" в той же форме
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2014, 16:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от soltx
if ($_POST) {
if ($result)
Вот твой результат отправки почты. Если $result == true, то почта ушла. Иначе не ушла.

Ты не добавил валидацию в свой файл. Видишь if (!$errors) - подразумевается что ты создал и заполнил (если есть ошибки) этот массив.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2014, 16:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,267

Сообщение от soltx
в клиент скрипте человек вызвал форму если все удачно отправилось то вывелось сообщение "бла бла бла" в той же форме
Дык

$.ajax({
	type: "post",
	dataType: "json",
	url: 'send.php',
	data: {
		phone: $phone, fio: $fio, adres: $adres
	},
	success: function(response) {
		alert("бла бла бла");
	}
});
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2014, 16:27
Кандидат Javascript-наук
Отправить личное сообщение для soltx Посмотреть профиль Найти все сообщения от soltx
 
Регистрация: 19.05.2013
Сообщений: 144

Записал так не получилось, про проверку понял, сейчас условие если нет ошибок ушло, если есть отправить
if ($errors) {

if ($_POST) {
		if ($result == false) {
			$response = array('status'=>'error', 'msg' => 'Бла бла бла');
			header('Content-Type: application/json');
echo json_encode($response);
			}

}

/////////////////////////////////////////////////////////////////////////////////////////
// добавил  не сработало

if ($_POST) {
		if ($result == true) {
			$response = array('status'=>'OK', 'msg' => 'Тут месага');
			header('Content-Type: application/json');
echo json_encode($response);
			}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
.js отправка формы marciy Общие вопросы Javascript 1 18.05.2014 21:55
отправка формы Moloch AJAX и COMET 12 12.03.2014 23:30
Отправка данных формы AJAX`ом? Jopses jQuery 4 20.02.2013 12:34
Отправка формы с помощью XMLHttpRequest2 и FormData pav jQuery 3 05.10.2011 10:16
Отправка из формы в форму.. gJam Элементы интерфейса 5 21.07.2011 11:42