@srnsdlmtn

Есть ли возможность отправить не input данные php формой?

Есть форма, есть блоки, которые добавляются в что-то вроде корзины когда пользователь выбирает что туда добавить, задача в том, чтобы отправить содержимой этой корзины вместе со всеми данными забитыми в input, как такое можно сделать?

Вот сам код формы:

<?
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")&&(isset($_POST['more'])&&$_POST['more']!="")){ 
        $to = 'mymale@yandex.ru'; 
        $subject = 'Заказ'; 
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p>
                        <p>Примечание: '.$_POST['more'].'</p>
                    </body>
                </html>'; 
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; 
        $headers .= "From: <smth@order.com>\r\n"; 
        mail($to, $subject, $message, $headers); 
}
?>


Вот код её отправки:

$(function() {
	      $('form').submit(function(e) {
	        var $form = $(this);
	        $.ajax({
	          type: $form.attr('method'),
	          url: $form.attr('action'),
	          data: $form.serialize()
	        }).done(function() {
	          console.log('success');
	        }).fail(function() {
	          console.log('fail');
	        });
	        e.preventDefault();
	      });
	    });


Сама форма:

<form id="sendForm" method="post" action="send.php">
				<div class="information">
					<label for="name">ФИО:</label>
					<input type="text" id="name" name="name" required="required"></>
					<label for="telephone">ТЕЛЕФОН:</label>
					<input type="text" id="telephone" name="phone" required="required"></>
					<label for="more">ПРИМЕЧАНИЕ К ЗАКАЗУ:</label>
					<textarea rows="3" cols="55" id="more" name="more"></textarea>
					<button class="photo">ПРИКРЕПИТЬ ФОТО</button>
					<input type="submit" class="makeOrder" value="ЗАКАЗАТЬ"></input>
				</div>
			</form>


Добавляемый предмет:

$(".orderThis").on('click',function() {
				$('<div></div>').addClass("item").
				append('<div class="itemName" style="color:'+itemColor+'" >предмет(' + secondBuy.text() + ')<br>').
				append('<span class="chosenCustom" style="color:'+itemColor+'">' + thirdBuy.text() + '</div><br>').
				append('<button class="changeCount" data-delta="1">+1</button>').
				append('<button class="changeCount" data-delta="-1">-1</button>').
				append('<span class="counter">1</span></div>').
				appendTo( "#purchases" );


Отправить хочу данные забитые в инпуты формы + содержимое корзины, письмом на почту
  • Вопрос задан
  • 773 просмотра
Пригласить эксперта
Ответы на вопрос 1
<p class="tel">8-800-</p>
<p class="name">ИМЯ</p>
<a href="#" class="send">send</a>


$('html').on('click','.send',function() {
	var a = $('.tel').text();
	var b = $('.name').text();
	$.ajax({
		type: 'POST',
		url: 'URL',
		data: {
			'tel': a,
			'name': b
		},
		cache: false,
		dataType: 'json',
		timeout: 15000,
		success: function(result) {
			// тут что-то делаем с ответом
		},
		error: function() {
			// выводим ошибку
		}
	});
});


На сервере принимаем $_POST["tel"]; $_POST["name"];
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы