Здравствуйте!
есть обработчик события клик по сабмиту, который добавляет в корзину товар. Вопрос в том, можно ли при клике по
<a href="/cart/">Перейти к заказу</a>
выполнить добавление товара в корзину, используя уже существующий обработчик сабмита?
Смысл в том, чтобы "сабмит" выполнял только добавление товара аяксом, а ссылка "перейти к заказу", сначала выполнила добавление товара в корзину (можно и без аякса), и сразу после этого направила на заданный урл.
Пробовал по разному (дублировал кнопку, селекторы менял), пока не получилось.
Максимум, чего удалось добиться пока - это создать 2 идентичные кнопки сабмит с разными id, которые раздельно выполняют добавление товара в корзину. Если идти по этому пути, то вопрос следующий: как поставить условие,
if(клик по кнопке с id2) редирект на заданный урл?
схематический html:
<form>
<select>
<option value="1">a1</option>
</select>
<input type="submit" />
<a href="/cart/">Перейти к заказу</a>
</form>
полный js:
// Аяксовая корзина
$('form.variants').live('submit', function(e) {
e.preventDefault();
// button = $(this).find('input[type="submit"]');
// button = $(this).find('#buttonToCart1, #buttonToCart2');
// button = $(this).find('#buttonToCart1');
button = $(this).find('input[type="submit"]');
$.ajax({
url: "ajax/cart.php",
data: {variant: $(this).find('option:checked').val()},
dataType: 'json',
success: function(data){
$('#cart_informer').html(data);
if(button.attr('data-result-text'))
button.val(button.attr('data-result-text'));
}
});
var o1 = $(this).offset();
var o2 = $('#cart_informer').offset();
var dx = o1.left - o2.left;
var dy = o1.top - o2.top;
var distance = Math.sqrt(dx * dx + dy * dy);
$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);
$('.transfer_class').html($(this).closest('.product').find('.image').html());
$('.transfer_class').find('img').css('height', '100%');
return false;
});