LipGrad

Рейтинг
42
Регистрация
17.01.2014

Откройте код этой формы #print где она там находится и поставьте action="/sendmessage.php" или в функции поменяйте this.action на "/sendmessage.php"

Я не могу найти эту форму #print может как раз эта форма отсутствует?

я правильно искал, открывал все js и поиском вбив #print не находил.

вот в css нашел:

/* PRINT MODAL */

#print {

top: 15px;
z-index: 2000;
width: 850px;
height: 90%;
margin-left: -500px;
padding: 20px 20px 30px;
font-size: 12px;
line-height: 20px;
}
#print .title {
font-size: 22px;
line-height: normal;
}
#print .separator {
width: 100%;
margin: 0 0 10px 0;
}
#print .group > div {
float: left;
}
#print .number {
font-weight: bold;
font-size: 14px;
text-align: center;
width: 30px;
}
#print .color_1 {
width: 300px;
}
#print .color_2 {
width: 300px;
}
#print table {
width: 100%;
text-align: left;
vertical-align: top;
margin-top: 10px;
font-size: 12px;
text-indent: 8px;
margin-bottom: 20px;
}
#print table tr:hover td{
background: #fcf5e2;
}
#print table th {
vertical-align: middle;
height: 36px;
font-size: 12px;
background: #EDF3D6;
border: 1px #363636 solid;
}
#print table td {
border: 1px solid #C8BEA0;
background: #F9EBC4;
padding-top: 4px;
padding-bottom: 4px;
}
#print p {
line-height: 20px;
margin-bottom: 4px;
}
#print .orgalit {
width: 70%;
}
#print .group .title {
font-size: 18px;
}
#print .milling {
width: 20%;
margin-left: 40px;
}
#print .milling p {
padding-left: 0;
}
#print .button {
width: 160px;
}
#print .additional {
margin-bottom: 20px;
}
#print .modal_total {
font-family: Arial,Helvetica,Garuda,sans-serif;
font-weight: bold;
}

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

siv1987:
Что? Я вам пошаговаю инструкцию написал на предыдущей странице. Не вижу что бы вы добавили функцию в конец файла calculate.js

Я уже добавлял, у меня ничего не получилось, добавить функцию я понял как, заменить в акшене тоже понял, а вот во всем остальном не понял)

---------- Добавлено 15.04.2014 в 00:02 ----------

давайте еще раз попробуем вместе?

Вот добавил. дальше что? ТОлько понятным мне языком)

function dsp_print(){

var $pattern = '<div class="title">Форма распила</div>'+
'<div class="separator"></div>';
var $i = 1;
$('.dsp_wrapper .block').each(function(){
var $block_id = '#' + $(this).attr('id');
$block_pattern = '<div class="group"><div class="number">'+ $i +'</div><div class="color_1">Цвет ЛДСП: ' +
$($block_id + ' .dsp_color_name_holder .sbSelector').html() + '<br />Толщина: ' + $($block_id + ' .dsp_thickness_holder .sbSelector').html() +
' мм </div><div class="color_2">Цвет кромки (2 мм): ' + $($block_id + ' .dsp_color_name_holder_2 .sbSelector').html() +
'<br />Цвет кромки (0,4 мм): ' + $($block_id + ' .dsp_color_name_holder_3 .sbSelector').html() + '</div></div>' +
'<table><tr><th>Длина</th><th>Ширина</th><th colspan="2">Кромка (длина)</th><th colspan="2">Кромка (длина)</th><th>Эскизы</th><th>Кол-во</th><th>Стоимость</th></tr>';

$($block_id + ' .dsp_size_item').each(function(){
var $item_id = '#' + $(this).attr('id');
var $item_pattern = '<tr><td>' + $($item_id + ' .Ldsp').val() + '</td><td>' + $($item_id + ' .Wdsp').val() + '</td><td>' +
$($item_id + ' .edge_holder_1 .sbSelector').html() + '</td><td>' + $($item_id + ' .edge_holder_2 .sbSelector').html() + '</td><td>' +
$($item_id + ' .edge_holder_3 .sbSelector').html() + '</td><td>' + $($item_id + ' .edge_holder_4 .sbSelector').html() + '</td><td>';
var $modal_id = '#sketch_' + $(this).attr('id');
if ($($modal_id + ' .item_1.angles select').val()!= 0){
$item_pattern += '<p>Радиус 50-400 мм: ' + $($modal_id + ' .item_1.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_2.angles select').val()!= 0){
$item_pattern += '<p>Радиус 450-1000 мм: ' + $($modal_id + ' .item_2.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_3.angles select').val()!= 0){
$item_pattern += '<p>Прямоугольный выпил: ' + $($modal_id + ' .item_3.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .milling .select_1 select').val()!== 'Нет'){
$item_pattern += '<p>Фрезеровка длина: ' + $($modal_id + ' .milling .select_1 select').val() + '</p>';
}
if ($($modal_id + ' .milling .select_2 select').val()!== 'Нет'){
$item_pattern += '<p>Фрезеровка ширина: ' + $($modal_id + ' .milling .select_2 select').val() + '</p>';
}
if ($($modal_id + ' .item_4.milling select').val()!= 0){
$item_pattern += '<p>Криволинейный пил: ' + $($modal_id + ' .item_4.milling select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_5.milling select').val()!= 0){
$item_pattern += '<p>Наклонный пил: ' + $($modal_id + ' .item_5.milling select').val() + ' шт.</p>';
}
$item_pattern += '</td><td>' + $($item_id + ' .Qdsp').val() + '</td><td>' + $($item_id + ' .cost_wrapper').html() + '</td></tr>';
$block_pattern += $item_pattern;
});
$block_pattern += '</table><div class="separator"></div>';
$pattern += $block_pattern;
$i++;
});

$pattern += '<div class="group"><div class="orgalit"><div class="title">ДВПо</div><table>' +
'<tr><th>Цвет</th><th>Длина</th><th>Ширина</th><th>Кол-во</th><th>Пр. выпилы</th><th>Стоимость</th></tr>';

$('.orgalit_wrapper .orgalit_item').each(function(){
var $item_id = '#' + $(this).attr('id');
var $item_pattern = '<tr><td>' + $($item_id + ' .orgalit_color_holder .sbSelector').html() + '</td><td>' +
$($item_id + ' .item_1 input').val() + '</td><td>' + $($item_id + ' .item_2 input').val() + '</td><td>' +
$($item_id + ' .item_3 input').val() + '</td><td>' + $($item_id + ' .drank_wrapper .sbSelector').html() + '</td><td>' +
$($item_id + ' .item_cost span').html() + '</td></tr>'
$pattern += $item_pattern;
});
$pattern += '</table></div><div class="milling"><div class="title">Присадка</div>' +
'<p>От 1 до 10 мм: ' + $('.additive_wrapper .input_wrapper_1.item_1 input').val() +
' шт.</p><p>От 11 до 20 мм: ' + $('.additive_wrapper .input_wrapper_1.item_2 input').val() +
' шт</p><p>От 21 до 35 мм: ' + $('.additive_wrapper .input_wrapper_1.item_3 input').val() + ' шт.</p></div></div>' +
'<div class="additional">';
if ($('.tab_1 .additional_services_wrapper .option_1 input').is(':checked')){
$pattern += '<p>Упаковка: ' + $('.tab_1 .additional_services_wrapper .option_1 .item_2').html() + ' м.кв. × ' +
$Ppack + ' = ' + $('.tab_1 .additional_services_wrapper .option_1 .item_4').html() + ' р.</p>';
}
if ($('.tab_1 .additional_services_wrapper .option_2 input').is(':checked')){
$pattern += '<p>Погрузка: ' + $('.tab_1 .additional_services_wrapper .option_2 .item_2').html() +
' м.кв. × ' + $Pload + ' = '
+ $('.tab_1 .additional_services_wrapper .option_2 .item_4').html() + ' р.</p>';
}
if ($('.tab_1 .additional_services_wrapper .option_3 input').is(':checked')){
$pattern += '<p>Доставка: ' + $Pdel +' р.</p>';
}
$pattern += '</div><div class="title modal_total">Итого: <span> ' + $('.dsp_total_wrapper .order_total_cost span').html().replace(/(\d{1,3})(?=(?:\d{3})+$)/g, '$1 ') +' руб. </span> </div>';
$pattern2 = $pattern.replace(/<div class="title">Форма распила<\/div>/g, 'Распил ЛДСП<br />');
$pattern2 = $pattern2.replace(/<div class="number">/g, '<br /><div class="number">ЛДСП №');
$pattern2 = $pattern2.replace(/ДВПо/g, '<br />ДВПо');
$pattern2 = $pattern2.replace(/Присадка/g, '<br />Присадка');
$pattern2 = $pattern2.replace(/>/g, '&gt;');
$pattern2 = $pattern2.replace(/</g, '&lt;');
$('#send_order_text').val($pattern2);
$pattern += '<input type="button" class="button" value="Печатать" onclick="window.print();"/><a href="#" class="close"></a><br /><br /><form id="contact" name="contact" action="sendmessage.php" onsubmit="sendmessage" method="post"><label for="email">Ваш E-mail</label><br /><input type="email" id="email" name="email" class="txt"><br><label for="msg">Введите сообщение</label><br /><textarea id="msg" name="msg" class="txtarea"></textarea><br /><button id="send">Отправить заказ.</button></form>';
$('#print .modal_wrap').html($pattern);
$('#print a.close').click(function(){
close_form('print');
return false;

});

}

function sendmessage(){
var email = this.email.value,
msg = this.msg.value,
html = $('#print .modal_wrap').html();
if(! email){
alert('Необходимо ввести емайл');
return false;
}

$.post(this.action, {email: email, msg: msg, html: html}, function(data){
alert('Форма успешно отправлена');
});

return false;
}

Я вам в личку кинул)

siv1987:
Предыдущая форма у вас была нормальной. Делайте по инструкции #24

Я не знаю как все это сделать, вы говорите о вещах, которые понимаете, я минус в этом.🤪

С этим не знаю. Выше уже все написано. Вам что нужно?

Мне надо чтобы когда пользователь нажал на обзор заказа и увидел модульное окно с результатом его работы с калькулятором, мог отправить по почте этот результат, где указано было бы: телефон, майл и естественно результат с калькулятора, чтобы можно было отработать по заказу.

мне этот калькулятор дали и сказали что он типо сграблен с другого сайта системы UMI(по-моему), вот есть форма отправки заказа родная от этого калькулятора, но от нее нет обработчика, я так понял что он лежал в там (/webforms/send/), он у меня нет таких папок и поэтому нет и файлов от туда. Вот я решил что нужно новую форму создать с новым обработчиком, и прошу ВАС помочь мне.

Вот старая форма:

<form xmlns="http://www.w3.org/1999/xhtml" id="get_order" class="modal" method="post" action="/webforms/send/" onsubmit="return zakazformSubmit();"><input type="hidden" name="system_form_id" value="865"></input><input type="hidden" name="ref_onsuccess" value="/calculator/ok/"></input><input type="hidden" name="system_email_to" value="30576"></input><div class="modal_wrap"><div class="title">Оформление заказа</div><p id="errors_zakaz"></p><input type="hidden" name="data[new][zakaz]" id="send_order_text" class="hide"></input><div class="group"><label for="get_order_name">Имя:</label><div class="input_holder"><input type="text" id="get_order_name" class="input" name="data[new][name]"></input></div></div><div class="group"><label for="get_order_phone">Телефон:</label><div class="input_holder"><input type="text" id="get_order_phone" class="input" name="data[new][phone]"></input></div></div><div class="group"><label for="get_order_email">Эл. почта:</label><div class="input_holder"><input type="text" id="get_order_email" class="input" name="data[new]"></input></div></div><div class="group"><label for="get_order_message">Сообщение:</label><div class="input_holder"><textarea id="get_order_message" class="input" name="data[new][message]" cols="3" rows="3"></textarea></div></div><div xmlns="" class="qaptcha_code" style="display: none;"><img src="/captcha.php"></div>

<div xmlns="" class="qaptcha_enter" style="display: none;">
Защитный код<br><input type="text" name="captcha" class="captcha" id="cform2" value="nosymbols">
</div>
<div class="submit_holder"><input type="submit" class="button" value="Отправить"></input></div><a href="#" class="close"></a></div></form>
После отработки этой функции dsp_print(); у вас будет сформированный html код заказа в блоке #print .modal_wrap Получайте этот код $('#print .modal_wrap').html(); например по сабмиту формы #contact, а там отправляете аяксом запросом содержимое на sendmessage.php который отправит этот код пользователю на мыло

Для меня тут есть незнакомые слова)), например сабмит

Аякс - это вот этот код?

$.ajax({

type: 'POST',
url: 'sendmessage.php',
data: $("#contact").serialize(),
success: function(data) {
if(data == "true") {
$("#contact").fadeOut("fast", function(){
$(this).before("<p><strong>Успешно! Ваше сообщение отправлено :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});

Что с ним надо сделать?

Правильно я в js вставил форму обратки?


...
$pattern += '</div><div class="title modal_total">Итого: <span> ' + $('.dsp_total_wrapper .order_total_cost span').html().replace(/(\d{1,3})(?=(?:\d{3})+$)/g, '$1 ') +' руб. </span> </div>';
$pattern2 = $pattern.replace(/<div class="title">Форма распила<\/div>/g, 'Распил ЛДСП<br />');
$pattern2 = $pattern2.replace(/<div class="number">/g, '<br /><div class="number">ЛДСП №');
$pattern2 = $pattern2.replace(/ДВПо/g, '<br />ДВПо');
$pattern2 = $pattern2.replace(/Присадка/g, '<br />Присадка');
$pattern2 = $pattern2.replace(/>/g, '&gt;');
$pattern2 = $pattern2.replace(/</g, '&lt;');
$('#send_order_text').val($pattern2);
$pattern += '<input type="button" class="button" value="Печатать" onclick="window.print();"/><a href="#" class="close"></a>';
$pattern +='<br /><br /><form id="contact" name="contact" action="sendmessage.php" method="post"><label for="email">Ваш E-mail</label><br /><input type="email" id="email" name="email" class="txt"><br><label for="msg">Введите сообщение</label><br /><textarea id="msg" name="msg" class="txtarea"></textarea><br /><button id="send">Отправить заказ.</button></form>';
$('#print .modal_wrap').html($pattern);
$('#print a.close').click(function(){
close_form('print');
return false;
});
}
}

при таком размещение форма не контачет с обработчиком), обработчик в корне лежит, а этот js нет

---------- Добавлено 14.04.2014 в 21:54 ----------

Народ кто возьмется за мой ПРОЕКТ??? Пишите в личку, договоримся. Я ноль, нет даже минус в этом)

Ну хоть аспирантура рулит), спасибо, щас буду пробовать)

---------- Добавлено 14.04.2014 в 21:07 ----------

Вот смотрите у меня есть файл: calculate.js в нем есть следующие коды:



...

/* Вкладка - РАСПИЛ ДСП - Распечатка */


$('.tab_1 .dsp_total_wrapper .print_order').click(function(){
dsp_print();
show_form('print');
$('body, html').scrollTop($('#print').position().top - 39);
return false;
});


$('.dsp_total_wrapper input').click(function(){
dsp_print();
var $top = $('.tab_1').height() - $('#get_order').height() - 40;
$('#get_order').css({top: $top});
show_form('get_order');


});

...

и вот такой:

function dsp_print(){
var $pattern = '<div class="title">Форма распила</div>'+
'<div class="separator"></div>';
var $i = 1;
$('.dsp_wrapper .block').each(function(){
var $block_id = '#' + $(this).attr('id');
$block_pattern = '<div class="group"><div class="number">'+ $i +'</div><div class="color_1">Цвет ЛДСП: ' +
$($block_id + ' .dsp_color_name_holder .sbSelector').html() + '<br />Толщина: ' + $($block_id + ' .dsp_thickness_holder .sbSelector').html() +
' мм </div><div class="color_2">Цвет кромки (2 мм): ' + $($block_id + ' .dsp_color_name_holder_2 .sbSelector').html() +
'<br />Цвет кромки (0,4 мм): ' + $($block_id + ' .dsp_color_name_holder_3 .sbSelector').html() + '</div></div>' +
'<table><tr><th>Длина</th><th>Ширина</th><th colspan="2">Кромка (длина)</th><th colspan="2">Кромка (длина)</th><th>Эскизы</th><th>Кол-во</th><th>Стоимость</th></tr>';

$($block_id + ' .dsp_size_item').each(function(){
var $item_id = '#' + $(this).attr('id');
var $item_pattern = '<tr><td>' + $($item_id + ' .Ldsp').val() + '</td><td>' + $($item_id + ' .Wdsp').val() + '</td><td>' +
$($item_id + ' .edge_holder_1 .sbSelector').html() + '</td><td>' + $($item_id + ' .edge_holder_2 .sbSelector').html() + '</td><td>' +
$($item_id + ' .edge_holder_3 .sbSelector').html() + '</td><td>' + $($item_id + ' .edge_holder_4 .sbSelector').html() + '</td><td>';
var $modal_id = '#sketch_' + $(this).attr('id');
if ($($modal_id + ' .item_1.angles select').val()!= 0){
$item_pattern += '<p>Радиус 50-400 мм: ' + $($modal_id + ' .item_1.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_2.angles select').val()!= 0){
$item_pattern += '<p>Радиус 450-1000 мм: ' + $($modal_id + ' .item_2.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_3.angles select').val()!= 0){
$item_pattern += '<p>Прямоугольный выпил: ' + $($modal_id + ' .item_3.angles select').val() + ' шт.</p>';
}
if ($($modal_id + ' .milling .select_1 select').val()!== 'Нет'){
$item_pattern += '<p>Фрезеровка длина: ' + $($modal_id + ' .milling .select_1 select').val() + '</p>';
}
if ($($modal_id + ' .milling .select_2 select').val()!== 'Нет'){
$item_pattern += '<p>Фрезеровка ширина: ' + $($modal_id + ' .milling .select_2 select').val() + '</p>';
}
if ($($modal_id + ' .item_4.milling select').val()!= 0){
$item_pattern += '<p>Криволинейный пил: ' + $($modal_id + ' .item_4.milling select').val() + ' шт.</p>';
}
if ($($modal_id + ' .item_5.milling select').val()!= 0){
$item_pattern += '<p>Наклонный пил: ' + $($modal_id + ' .item_5.milling select').val() + ' шт.</p>';
}
$item_pattern += '</td><td>' + $($item_id + ' .Qdsp').val() + '</td><td>' + $($item_id + ' .cost_wrapper').html() + '</td></tr>';
$block_pattern += $item_pattern;
});
$block_pattern += '</table><div class="separator"></div>';
$pattern += $block_pattern;
$i++;
});

$pattern += '<div class="group"><div class="orgalit"><div class="title">ДВПо</div><table>' +
'<tr><th>Цвет</th><th>Длина</th><th>Ширина</th><th>Кол-во</th><th>Пр. выпилы</th><th>Стоимость</th></tr>';

$('.orgalit_wrapper .orgalit_item').each(function(){
var $item_id = '#' + $(this).attr('id');
var $item_pattern = '<tr><td>' + $($item_id + ' .orgalit_color_holder .sbSelector').html() + '</td><td>' +
$($item_id + ' .item_1 input').val() + '</td><td>' + $($item_id + ' .item_2 input').val() + '</td><td>' +
$($item_id + ' .item_3 input').val() + '</td><td>' + $($item_id + ' .drank_wrapper .sbSelector').html() + '</td><td>' +
$($item_id + ' .item_cost span').html() + '</td></tr>'
$pattern += $item_pattern;
});
$pattern += '</table></div><div class="milling"><div class="title">Присадка</div>' +
'<p>От 1 до 10 мм: ' + $('.additive_wrapper .input_wrapper_1.item_1 input').val() +
' шт.</p><p>От 11 до 20 мм: ' + $('.additive_wrapper .input_wrapper_1.item_2 input').val() +
' шт</p><p>От 21 до 35 мм: ' + $('.additive_wrapper .input_wrapper_1.item_3 input').val() + ' шт.</p></div></div>' +
'<div class="additional">';
if ($('.tab_1 .additional_services_wrapper .option_1 input').is(':checked')){
$pattern += '<p>Упаковка: ' + $('.tab_1 .additional_services_wrapper .option_1 .item_2').html() + ' м.кв. × ' +
$Ppack + ' = ' + $('.tab_1 .additional_services_wrapper .option_1 .item_4').html() + ' р.</p>';
}
if ($('.tab_1 .additional_services_wrapper .option_2 input').is(':checked')){
$pattern += '<p>Погрузка: ' + $('.tab_1 .additional_services_wrapper .option_2 .item_2').html() +
' м.кв. × ' + $Pload + ' = '
+ $('.tab_1 .additional_services_wrapper .option_2 .item_4').html() + ' р.</p>';
}
if ($('.tab_1 .additional_services_wrapper .option_3 input').is(':checked')){
$pattern += '<p>Доставка: ' + $Pdel +' р.</p>';
}
$pattern += '</div><div class="title modal_total">Итого: <span> ' + $('.dsp_total_wrapper .order_total_cost span').html().replace(/(\d{1,3})(?=(?:\d{3})+$)/g, '$1 ') +' руб. </span> </div>';

$pattern2 = $pattern.replace(/<div class="title">Форма распила<\/div>/g, 'Распил ЛДСП<br />');
$pattern2 = $pattern2.replace(/<div class="number">/g, '<br /><div class="number">ЛДСП №');
$pattern2 = $pattern2.replace(/ДВПо/g, '<br />ДВПо');
$pattern2 = $pattern2.replace(/Присадка/g, '<br />Присадка');
$pattern2 = $pattern2.replace(/>/g, '&gt;');
$pattern2 = $pattern2.replace(/</g, '&lt;');
$('#send_order_text').val($pattern2);

$pattern += '<input type="button" class="button" value="Печатать" onclick="window.print();"/><a href="#" class="close"></a>';
$('#print .modal_wrap').html($pattern);
$('#print a.close').click(function(){
close_form('print');
return false;
})
}

далее в файле: cal_raspil.php


...
<a href="#" class="print_order"><span>Обзор заказа</span></a>
..

Есть вот такая форма. К ней нет обработчика.

<form xmlns="http://www.w3.org/1999/xhtml" id="get_order" class="modal" method="post" action="/webforms/send/" onsubmit="return zakazformSubmit();"><input type="hidden" name="system_form_id" value="865"></input><input type="hidden" name="ref_onsuccess" value="/calculator/ok/"></input><input type="hidden" name="system_email_to" value="30576"></input><div class="modal_wrap"><div class="title">Оформление заказа</div><p id="errors_zakaz"></p><input type="hidden" name="data[new][zakaz]" id="send_order_text" class="hide"></input><div class="group"><label for="get_order_name">Имя:</label><div class="input_holder"><input type="text" id="get_order_name" class="input" name="data[new][name]"></input></div></div><div class="group"><label for="get_order_phone">Телефон:</label><div class="input_holder"><input type="text" id="get_order_phone" class="input" name="data[new][phone]"></input></div></div><div class="group"><label for="get_order_email">Эл. почта:</label><div class="input_holder"><input type="text" id="get_order_email" class="input" name="data[new]"></input></div></div><div class="group"><label for="get_order_message">Сообщение:</label><div class="input_holder"><textarea id="get_order_message" class="input" name="data[new][message]" cols="3" rows="3"></textarea></div></div><div xmlns="" class="qaptcha_code" style="display: none;"><img src="/captcha.php"></div>
<div xmlns="" class="qaptcha_enter" style="display: none;">
Защитный код<br><input type="text" name="captcha" class="captcha" id="cform2" value="nosymbols">
</div>
<div class="submit_holder"><input type="submit" class="button" value="Отправить"></input></div><a href="#" class="close"></a></div></form>

Эту форму я убрал со страницы.

Вопрос: Может можно что то сделать с этой формой чтобы она отправляла результаты работы калькулятора на почту?

Исполнитель ну где же ты) Народ ну что никто не поможет, делом?

Всего: 78