В общем есть рабочая форма, которая отправляет заказ посетителя:
<div class="container">
<div id="postCart">
<div class="col-xs-24 col-md-18 col-lg-18 cart-form-order">
<form class="form-horizontal" role="form" name="formCart" id="formCart" action="javascript:void(0);" method="POST" onSubmit="postCart(); return false;">
<input name="lng" type="hidden" value="<?php echo $GLOBALS['cb_language_cur']; ?>">
<input name="workPOST" type="hidden" value="onPostCart">
<div class="form-group">
<label for="name" class="col-md-6 control-label">Ваше имя</label>
<div class="col-md-18">
<input class="form-control name" type="text" maxlength="100" name="name" value="<?php echo $RQuser['name']; ?>" required>
</div>
</div>
<div class="form-group">
<label for="email" class="col-md-6 control-label" style="color:#999">E-Mail</label>
<div class="col-md-18">
<input class="form-control email" type="text" maxlength="200" name="email" value="" placeholder="Укажите e-mail, если желаете получить на него копию заказа">
</div>
</div>
<div class="form-group">
<label for="phone" class="col-md-6 control-label">Телефон</label>
<div class="col-md-18">
<input class="form-control phone" type="text" maxlength="100" name="phone" value="<?php echo $RQuser['phone']; ?>" required>
</div>
</div>
<div class="form-group">
<label for="delivery" class="col-md-6 control-label">Доставка</label>
<div class="col-md-18">
<select class="form-control" id="delivery" name="delivery" onChange="getOrderCheck()">
<?php
$QQd = 'SELECT id, heading, price FROM delivery WHERE view = 1 ORDER BY sort';
$LQd = mysql_query($QQd);
while($RQd = mysql_fetch_assoc($LQd))
{
echo '<option value="'.$RQd['id'].'">'.$RQd['heading'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="message" class="col-md-6 control-label">Дополнительная информация</label>
<div class="col-md-18">
<textarea class="form-control message" wrap="virtual" name="message" placeholder="Если необходимо, то укажите дополнительную информацию по заказу"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-6 col-md-18">
<div id="order-info-text">Пожалуйста, ещё раз проверьте ваш заказ и введенные данные, после нажатия кнопки "Отправить заказ" дальнейшие изменения будут недоступны</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-6 col-md-18">
<button type="button" id="cart-button-back" class="gray button" onClick="location.href='/cart';"><span class="hidden-xs">Вернуться </span>в корзину</button>
<img class="ajaxSubmit" style="display:none; float:right;" src="/template/assets/ajax.gif">
<button name="ordergo" type="submit" form="formCart" id="cart-button-order" class="green button butSubmit">Отправить <span class="hidden-xs">заказ</span></button>
</div>
</div>
</form>
</div>
<div class="col-xs-24 col-md-6 col-lg-6">
<h3>Ваш чек:</h3>
<div id="order-check" style="display:none;">
<table id="order-check-table">
<tr><td>Заказ на сумму</td><td id="order-check-price">0</td></tr>
<tr><td>Ваша скидка</td><td id="order-check-promo">0</td></tr>
<tr><td>Сумма с учетом скидки</td><td id="order-check-pay">0</td></tr>
<tr><td>Доставка</td><td id="order-check-delivery">0</td></tr>
<tr><td colspan="2"><hr></td></tr>
<tr id="order-check-total-tr"><td>Итого, <?php echo $ccur; ?></td><td id="order-check-total">0</td></tr>
</table>
</div>
<img id="order-check-ajax" src="/template/assets/ajax.gif" alt="" />
<div class="info-tovar-cart col-sm-24"><?php echo $_cb_tmpl_block['tovar']['val'][3]; ?></div>
</div>
</div>
с таким обработчиком:
function postCart()
{
$("#formCart .butSubmit").hide();
$("#formCart .ajaxSubmit").show();
$.post("/ajax/cart.php", $("#formCart").serialize(), cart_post_update);
}
function cart_post_update(data)
{
$("#formCart .butSubmit").show();
$("#formCart .ajaxSubmit").hide();
if(data == "") var count_error = 0;
else { var error = data.split("|"); var count_error = error.length; }
if(count_error > 0)
{
$("#formCart .error").removeClass("error");
for (var i = 0; i < count_error; i++) { $("#formCart ."+error[i]).addClass("error"); }
// var Time = new Date();
// $("#formCart .captcha-input").val("");
// $("#formCart .captcha-img").attr("src","/core/i?rnd="+Time.getTime());
}
else
{
<?php
$QQ = 'SELECT text_full AS value FROM settings_'.CloudBusiness::sqldata($GLOBALS['lang_code']).' WHERE id = 1450 ORDER BY id LIMIT 1';
$LQ = mysql_query ($QQ);
$RQ = mysql_fetch_assoc($LQ);
$RQ['value'] = str_replace("\n", "", str_replace("\r\n", "", $RQ['value']));
?>
$("#formCart").html("<?php echo addslashes($RQ['value']); ?>");
}
}
Новая задача, отправлять данные с другой формы, её я уже подстроил под обработчик:
<div class="container">
<div id="postCart" class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
<div class="order cart-form-order">
<p class="name">Заказать столик</p>
<form role="form" name="formCart" id="formCart" action="javascript:void(0);" method="POST" onSubmit="postCart(); return false;">
<input name="lng" type="hidden" value="<?php echo $GLOBALS['cb_language_cur']; ?>">
<input name="workPOST" type="hidden" value="onPostCart">
<input name="delivery" type="hidden" value="2">
<p>Ваше имя:</p>
<input name="name" type="text" placeholder="Введите ваше Имя">
<p>Контактный телефон:</p>
<input name="phone" type="text" placeholder="+7 (978) 568 15 26" id="phone">
<p>E-mail:</p>
<input name="email" type="text" placeholder="Введите ваш E-mail">
<p>Количество персон:</p>
<input name="message" type="text" placeholder="3">
<img class="ajaxSubmit" style="display:none; float:right;" src="/template/assets/ajax.gif">
<button id="cart-button-order" type="submit" form="formCart" class="but gr butSubmit">Забронировать<span class="hidden-xs"> </span></button>
</form>
</div>
</div>
Но при нажатии на "забронировать" срабатывает лишь ajax.gif, сразу исчезает и ничего не происходит, в БД данные не записываются, консоль не на что не ругается, где оплошность?