Javascript.RU

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

Стоимость сборки
Доброго времени суток!

Необходимо:

Добавить возможность для покупателя рассчитать и оплатить стоимость сборки приобретаемой мебели.
Т.е. при оформлении заказа покупатель перед выбором доставки имеет возможность поставить галочку в пункте "Сборка мебели".
Стоимость сборки рассчитывается на основании суммарной стоимости выбранных покупателем позиций - это 5% от суммы заказа (без учета доставки) с округлением вверх до 10 руб (минимальная цена сборки 300руб)

В корзине выведен чекбокс (файл "test.php")
<div data-property-id-row="22" class="clearfix">
	<label>
				<div class="bx_logotype">
			<span style="background-image:url(/images/logo-default-d.gif);"></span>
		</div>
	</label>
	<div class="bx_block r1x3 pt8">
		<input type="checkbox" id="sbor" onchange="fun1()">
		<div class="bx_description">
			<?=GetMessage("COST_OF_ASSEMBLY_SUMM")?><span style="font-weight: bold;"> 300</span>
		</div>
	</div>
</div>

Происходит проверка чекбокса (выбран/не выбран)
<script type="text/javascript">
function fun1() {
var chbox;
chbox=document.getElementById('sbor');
    if (chbox.checked) {
        //alert('Выбран');
       var message;
       message = '1';
       alert(message);
    }
    else {
        //alert ('Не выбран');
        var message;
       message = '0';
       alert(message);
    }
}
</script>

Подскажите, пожалуйста, каким образом возможно записать значение (выбран/ не выбран, т.е. 1/0) в переменную php и далее данную переменную предавать в другой файл (summary.php)? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2018, 08:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от _marisha
каким образом возможно записать значение (выбран/ не выбран, т.е. 1/0) в переменную php и далее данную переменную предавать в другой файл (summary.php)?
Отправляйте на сервер выбор пользователя, храните его (сессия/база). Непосредственно на клиенте, это либо куки, либо сессионное хранилище (не отправляя на сервер и сервер может не знать об этом).
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2018, 08:49
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

laimas, спасибо что откликнулись.
Возможно ли показать как на данном примере будет выглядеть?
Или примеры на что отталкиваться? Спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2018, 09:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

_marisha,
можно и примеры, скажите только как именно нужно? Ведь если речь идет о переменной хранящейся на сервере, то только передача ее на сервер, клиент тут не помощник. Собственно передать значение некоего поля формы с одной страницы в форму на другой странице можно и через саму форму.
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2018, 10:18
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

laimas, как именно нужно, затрудняюсь ответить.

Пробую делать так (найден пример):
function fun1() {
var chbox;
chbox=document.getElementById('sbor');
    if (chbox.checked) {
       var sbor = '1';
      $(document).ready(function(){
          $.ajax({
          url: "summary.php",
          type : "POST",
          data : {sbor:sbor},
      }); 
    }
    else {
        //alert ('Не выбран');
        var message;
       message = '0';
       alert(message);
    }
}

В summary.php echo $_POST['sbor']; пусто
Возможно данный вариант не подходит для решения в данном случае...
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2018, 10:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ошибка в коде - строку 6 удалите (не закрыто тело условия, да и $(document).ready(function() тут совсем ни к чему).
Ответить с цитированием
  #7 (permalink)  
Старый 20.06.2018, 10:42
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

laimas,
function fun1() {
var chbox;
chbox=document.getElementById('sbor');
    if (chbox.checked) {
       var sbor = '1';
          $.ajax({
          url: "summary.php",
          type : "POST",
          data : {sbor:sbor},
         });
    }
    else {
        var message;
       message = '0';
       alert(message);
    }
}

В summary.php echo $_POST['sbor']; пусто

Последний раз редактировалось _marisha, 20.06.2018 в 10:45. Причина: убран закомментированный код
Ответить с цитированием
  #8 (permalink)  
Старый 20.06.2018, 11:10
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Если сделать так:
function fun1() {
var chbox;
chbox=document.getElementById('sbor');
    if (chbox.checked) {
       var sbor = '1';
          $.ajax({
          url: "summary.php",
          type : "POST",
          data : {sbor:sbor},
          success: function (data) {
          alert (data);
          },
          error: function(){
          alert ("No PHP script: ");
          } 
         });
    }
    else {
        var message;
       message = '0';
       alert(message);
    }
}

То при отмеченном чекбоксе возвращает "No PHP script: "
Ответить с цитированием
  #9 (permalink)  
Старый 20.06.2018, 11:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Запрос будет, а ошибку (ответ сервера: статус) нужно анализировать.
Ответить с цитированием
  #10 (permalink)  
Старый 20.06.2018, 11:32
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

laimas,
$.ajax({
          url: "/sale.order.ajax/.default/summary.php",
          data : {sbor:sbor},
          type : "POST",
          success: function (data) {
          alert ("data");
          },
          error: function(){
          alert ("No PHP script: ");
          } 
         });

Извините, не верно был указан путь к файлу.
Сейчас срабатывает первое условие alert ("data");
Но если сделать alert (data);, то data пустое значение, т.е. в alert пусто...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните основы сборки и отладки фронтенд одностраничников - 30$ _sky_ Node.JS 4 03.07.2017 20:45
Как посчитать стоимость аренды по месяцам? drkrol Общие вопросы Javascript 2 26.11.2016 17:53
Нужна помощь с AJAX Sergio022 AJAX и COMET 24 09.08.2014 23:50
Подскажите стоимость zilker Работа 28 15.06.2012 17:39
есть ли функция проверка 'сборки страницы' после загрузки asdasd Общие вопросы Javascript 2 04.04.2012 13:48