Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2013, 15:41
Новичок на форуме
Отправить личное сообщение для bannndi Посмотреть профиль Найти все сообщения от bannndi
 
Регистрация: 25.03.2013
Сообщений: 7

как выполнить клик по submit если кликать по ссылке?
Здравствуйте!

есть обработчик события клик по сабмиту, который добавляет в корзину товар. Вопрос в том, можно ли при клике по
<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;
});
Ответить с цитированием