У меня есть простой интернет-магазин, и я пытаюсь добавить несколько вариантов доставки. Есть два варианта, и я хочу сохранить вариант, выбранный клиентом в сеансе (или, альтернативно, повар ie).
Сценарий php, кажется, работает сам по себе, но приводит к перезагрузке страницы, поэтому я пытался реализовать ajax, используя jquery для отправки данных, но либо код не выполняется, либо страница перезагружается.
Я попытался выполнить несколько ответов, включая замену button
на type="submit"
, но это приводит к тому, что код вообще не выполняется. Добавление 'click'
к .on
запускает код, но также приводит к перезагрузке. Я проверил консоль и не вижу никаких проблем. Спасибо за любую помощь.
jQuery
$(function(){
$('#shipping_form').on('submit', function(e){
e.preventDefault();
var ship = $('input[name="shipping_val"]').val();
$.ajax({
type: 'GET',
data: { discount: ship },
success: function(data) {
//go to next section
}
});
return false;
});
});
HTML / PHP
<?php
Session_start();
if(isset($_GET['shipping_submit'])){
$shipping_get = $_GET['shipping_val'];
}else{
$shipping_get = '3.99';
}
$_SESSION['shipping'] = $shipping_get ;
?>
<html>
<main class="container">
<form method="GET" name="shipping_form" id="shipping_form" action="">
<p>Please choose your prefered shipping method.</p>
<input type="radio" name="shipping_val" value="3.99" checked>
<label for="shipping_val">
Standard delivery
</label>
<input type="radio" name="shipping_val" value="6.99" >
<label for="shipping_val">
Express delivery
</label>
<button type="submit" id="shipping_submit" name="shipping_submit" >Update</button>
<?php
echo '<h1>' . $_SESSION['shipping'] . '</h1>';
?>
</form>```