fantom4ik
@fantom4ik
php developer

Как передать дополнительное поле — цена товара?

Есть быстрая форма покупки товара, небольшой скрипт подключен к стандартной форме "купить \ в корзину" движка prestashop. Нужно передать дополнительное еще 1 поле - цену товара.

Вот собственно код:
<form action="/themes/default-bootstrap/modules/blockcart/ju_fast.php" method="post" onsubmit="return (ValidPhone())">
               		<div class="layer_cart_product_info">
                	    <span id="layer_cart_product_title" class="product-name"></span>
                	    <span id="layer_cart_product_attributes"></span>
						<input name="name_g" id="name_g" type="hidden" value="">
                    	<div>
							<input name="name_b1" id="name_b1" required placeholder="Имя" type="text">
                   		</div>
                    	<div>
							<input name="phone_b1" id="phone_b1" required placeholder="Телефон" type="text" >

							{literal}
							<script>
								function ValidPhone()
								{
								    var re = /^\d[\d\(\)\ -]{4,17}\d$/;
								    var myPhone = document.getElementById('phone_b1').value;
								    var valid = re.test(myPhone);
								    return valid;
								}
							</script> 
							{/literal}
                    	</div>
						<div>
							<input type="submit" value="Быстрый заказ" id="fsell_done">
                    	</div>
                	</div>

      $("#fsell_done").hover(
      function () {
var str_gname = $("span#layer_cart_product_title").text();
$("#name_g").val(str_gname);
      }
    );

ссылка на полный код: jsfiddle.net/8wagho7L
ссылка на полный код скрипта обработки: jsfiddle.net/hkh7emuv
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
dima11221122
@dima11221122
Разработчик программного обеспечения
Чтобы передать статические данные, которыми в нашем случае являет цена, можно в форме использовать скрытый инпут, например так
<form>
...
<intput type="hidden" name="price" value="100" />
</form>

На сервере, соответственно нужно "принять" эту переменную. Это можно сделать строкой
$fsell_price = $_POST["price"]
P.S. Советую отделить логику работы от представления. В Вашем случае, обработку формы оплаты вынести в отдельный контроллер, в котором, в случае успеха, будет подгружаться соответствующее представление.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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