Показать сообщение отдельно
  #1 (permalink)  
Старый 23.07.2012, 12:35
Новичок на форуме
Отправить личное сообщение для xodock Посмотреть профиль Найти все сообщения от xodock
 
Регистрация: 23.07.2012
Сообщений: 2

Скрипт правильно работает только один раз, после начинает выдавать ошибку.
Здравствуйте.
Есть страница с формой, в которой нужно менять значение текстового поля по нажатию на "плюс" или "минус", после изменения необходимо сабмитить форму ajax'ом.
Вот кусок кода страницы, в $prow->cart_item_id лежит id очередного товара, т.е. на странице id формы или инпута выглядит как qform2 или quantity5, например.
<form method="post" id="<?php echo $prow->cart_item_id; ?>" name="qform<?php echo $prow->cart_item_id; ?>" action="index2.php?option=com_virtuemart&view=cart1" class="inline">
<input id="quantity<?php echo $prow->cart_item_id; ?>" type="text" title="<?php echo  JText::_('COM_VIRTUEMART_CART_UPDATE') ?>" class="inputbox" size="3" maxlength="4" name="quantity" value="<?php echo $prow->quantity ?>" />
<span class="minus1" style="cursor:pointer;" onclick="javascript:minus('quantity<?php echo $prow->cart_item_id; ?>','qform<?php echo $prow->cart_item_id; ?>');">-</span>
<span class="plus1" style="cursor:pointer;" onclick="javascript:plus('quantity<?php echo $prow->cart_item_id; ?>','qform<?php echo $prow->cart_item_id; ?>');">+</span>
</form>

А вот js
if (typeof(plus) !== "function") {
		function plus(q1,f1){
		var qua1=document.getElementById(q1);
		var form1=jQuery('#'+f1);
		qua1.value++;
		var options1 = {
		target: '#body'
		};
		form1.ajaxSubmit(options1);
		return false;
		}
		}
		if (typeof(minus) !== "function") {
		function minus(q2,f2){
		var qua2=document.getElementById(q2);
		var form2=jQuery('#'+f2);
		if (qua2.value!==1){
		qua2.value--;
		var options2 = {
		target: '#body'
		};
		form2.ajaxSubmit(options2);
		}
		return false;
		}}

Итак, суть проблемы: всё это работает корректно один раз, потом при нажатии на плюсы/минусы происходит изменение значения поля, но не выполняется formX.ajaxSubmit(optionsX); при этом в опере вижу ошибку, например, "Unhandled Error: 'form1.ajaxSubmit' is not a function"
Не знаю что делать, помогите пожалуйста.
Ответить с цитированием