Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.07.2012, 11: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"
Не знаю что делать, помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2012, 11:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

xodock,
Собственно Вы не выложили form1.ajaxSubmit(options1) - поэтому сложно назвать причины
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2012, 12:04
Новичок на форуме
Отправить личное сообщение для xodock Посмотреть профиль Найти все сообщения от xodock
 
Регистрация: 23.07.2012
Сообщений: 2

И действительно. Во вложении архив с jQuery-плагином в котором эта функция.
Вложения:
Тип файла: zip jquery.form.js.zip (10.2 Кб, 3 просмотров)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает только если подключать js в самом низу html! Pekkonen jQuery 3 26.01.2011 00:44
Не правильно работает скрипт. Julia Panatova Общие вопросы Javascript 2 18.01.2011 14:30
Скрипт правильно работает только в IE! [ANTI]CheateR Общие вопросы Javascript 3 01.12.2010 20:32
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 18:01
Скрипт работает только в IE xstp Общие вопросы Javascript 3 13.09.2009 14:22