Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2014, 22:22
MRJ MRJ вне форума
Интересующийся
Отправить личное сообщение для MRJ Посмотреть профиль Найти все сообщения от MRJ
 
Регистрация: 03.03.2014
Сообщений: 25

Калькулятор Javascript и форма отправки заказа, отправка рассчитанной стоимости
Здравствуйте, никак не могу разобраться как отправить рассчитанную сумму

Результат:<span id="result"> 700</span> руб.</span>

из формы заказа, чтобы она пришла в теле письма на почту, также как и поле Выбор1, например. Помогите, к сожалению ничего не понимаю в php (


<?php 
 
session_start();
 
require_once 'validator.php';
 
$validator = new Validator();
 
$validator->set_error_delimiters('<div class="f-error">', '</div>');
 
$rules = array(
    array(
        'field' => 'name',
        'label' => 'Имя',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'subject',
        'label' => 'Тема',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'email',
        'label' => 'Email',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s',
                        'valid_email' => 'Правильно укажите %s'
                    )
    ),
    array(
        'field' => 'select1',
        'label' => 'Выбор1',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'select2',
        'label' => 'Выбор2',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'result',
        'label' => 'Результат',
        'rules' => array(
                        'trim' => '' //Обрезаем пробелы по бокам
                    )
    )
);
 
$validator->set_rules($rules);
$message = '';
 
if($validator->run()){
    
    $to = 'mail@site.ru';
 
    $from = "=?UTF-8?b?" . base64_encode($validator->postdata('name')) . "?=";
    $subject = "=?UTF-8?b?" . base64_encode( $validator->postdata('subject') ) . "?=";
    
    $mail_body = "Письмо с сайта\r\n\r\n";
    
    foreach($rules as $rule){
        if($rule['field'] == 'keystring') continue;
        $mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n\r\n";
    }
    
    $header = "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/plain; charset=UTF-8\n";
 
    if(mail($to, $subject, $mail_body, $header)){
        
        $message = '<div class="f-success">Ваш заказ отправлен</div>';
 
        $validator->reset_postdata();
    }
    else{
        
        $message = '<div class="f-error">Произошла ошибка<br />Попробуйте позже</div>';
    }
}
else{
 
    $message = $validator->get_string_errors();
    $errors = $validator->get_array_errors();
 
}
 
?><!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" xml:lang="ru">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
        <title>Форма заказа</title>
        <script type="text/javascript">
 
        function calc() {
            var select1 = document.getElementById("select1");
            var select2 = document.getElementById("select2");
            var result = document.getElementById("result");
 
            var price = 700;
            price = parseInt(select1.options[select1.selectedIndex].title) + parseInt(select2.options[select2.selectedIndex].title);
 
            result.innerHTML = price;
        }
 
        </script>
    </head>
   <?=(!empty($message))? '<div class="errors">'.$message.'</div>': ''?>
            
            <form action="" method="post" class="feedback">
                        <label class="feedback_label">Имя</label>
                        <input type="text" class="feedback_input_name" name="name" value="<?=$validator->postdata('name');?>" />
 
                        <label class="feedback_input_name" >Тема</label>
                            <input type="text" class="feedback_input_name" name="subject" value="<?=$validator->postdata('subject');?>"/>
 
                        <label class="feedback_label">Email</label>
                            <input type="text" class="feedback_input_email" name="email" value="<?=$validator->postdata('email');?>" />
 
                        <label class="feedback_label">Выбор1</label>
                          <select onchange="calc()" id="select1" name="select1[0]">
                          <option title="500" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][0]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="1000" value="2"<?if(htmlspecialchars($_POST['select1'][0]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
                        <label class="feedback_label">Выбор2</label>
                          <select onchange="calc()" id="select2" name="select2[1]">
                          <option title="200" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][1]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="300" value="2"<?if(htmlspecialchars($_POST['select1'][1]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
 
                      Результат:<span id="result"> 700</span> руб.
 
 
                      <div <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
                                    <div class="feedback-captcha"><?php require 'captcha.php';?></div>
                                      <div class="feedback-captcha_check">        
                                    <input type="text" size="6" class="feedback-captcha_input" name="keystring" value=""/><br />
                            <span class="feedback_small">Введите цифры с картинки</span><br /><br />
                                <input type="submit" value="Отправить" />
    </div>
 
                                </form>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2014, 22:26
MRJ MRJ вне форума
Интересующийся
Отправить личное сообщение для MRJ Посмотреть профиль Найти все сообщения от MRJ
 
Регистрация: 03.03.2014
Сообщений: 25

Когда пользователь выбирает настройки из выпадающих списков, происходит рассчет итога в поле

Результат:<span id="result"> 700</span> руб.

в реальном времени, то есть если пользователь ничего не меняет то по умолчанию сумма 700, а если он меняет настройки, то сумма в этом поле в форме меняется...
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2014, 08:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от MRJ
ничего не понимаю в php (
Тогда при чем тут " Javascript » Элементы интерфейса"?
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2014, 08:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от MRJ
как отправить рассчитанную сумму

Результат:<span id="result"> 700</span> руб.</span>


из формы заказа, чтобы она пришла в теле письма на почту, также как и поле Выбор1
Поле то обычный селект, он отправится обычным способом
Сообщение от MRJ
<input type="submit" value="Отправить" />
Если хочешь так же отправить те циферки - запиши их в другое поле формы... Хоть в тот же
<input type='hidden' />
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна форма оптового заказа с калькулятором Dariloff Работа 1 06.01.2013 15:31
Калькулятор + форма заказа jkdl Элементы интерфейса 8 15.09.2012 14:10
Добавление исходного числа в расчет (форма заказа) seoguru Общие вопросы Javascript 2 27.02.2012 12:47
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34