Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2013, 00:50
Интересующийся
Отправить личное сообщение для katjuha6 Посмотреть профиль Найти все сообщения от katjuha6
 
Регистрация: 31.01.2013
Сообщений: 12

смена текста при нажатии на кнопку
всем доброго времени суток, уважаемые форумчане!
есть такой код
<?php
//$param['product_type_id'] = $product_type_id;
//$_SESSION['vmCompareBtnParam'] = $param;

?>
<div  class="check">
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
//$show_checkboxes = @$_SESSION['vmCompareParam']['show_checkboxes'];
//$product_type_id = $param['product_type_id'];
$session =& JFactory::getSession();
$compare = $session->get('compare');
if(isset($compare[$product_type_id])&& is_array($compare[$product_type_id]) && in_array($product_id, $compare[$product_type_id]) )
 { 	 $checkValue = 'checked="checked"';}
else {  $checkValue = '';}
?>
<input name="compare_<?php echo $product_id ?>" id="compare_cart_<?php echo $product_id ?>" alt="<?php echo $VM_LANG->_('VM_CART_COMP')?>" title="<?php echo $VM_LANG->_('VM_CART_COMP')?>" type="checkbox" <?php echo $checkValue ?> onclick="return CompareProduct( this,<?php echo $product_type_id ?>);" class="compare_checkbox">
<?php echo "сравнить"?>
 </div>

конструкция данного кода такая: чекбокс и рядом с ним текст "сравнить".
как сделать так, чтобы когда кликали по чекбоксу текст рядом с ним изменялся на "перейти к сравнению"?
Буду очень признательна за помощь =)
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2013, 13:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,776

Сообщение от katjuha6
конструкция данного кода такая: чекбокс и рядом с ним текст "сравнить".
Сделай нормальный хтмл пример...
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2013, 13:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

onclick="nextSibling.innerHTML = 'перейти к сравнению';return Compa...

Трэш конечно... но ведь это VirtueMart ...
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2013, 16:52
Интересующийся
Отправить личное сообщение для katjuha6 Посмотреть профиль Найти все сообщения от katjuha6
 
Регистрация: 31.01.2013
Сообщений: 12

danik.js,
я сделала так
<input name="compare_<?php echo $product_id ?>" id="compare_cart_<?php echo $product_id ?>" alt="<?php echo $VM_LANG->_('VM_CART_COMP')?>" title="<?php echo $VM_LANG->_('VM_CART_COMP')?>" type="checkbox" <?php echo $checkValue ?> onclick="nextSibling.innerHTML = 'перейти к сравнению'( this,<?php echo $product_type_id ?>);" class="compare_checkbox">

если неправильно написала - поправьте, т.к. для меня php непонятен.
Если написано верно - тогда этот код не подходит. товары в сравнение не добавляются.
Ответить с цитированием
  #5 (permalink)  
Старый 03.02.2013, 16:56
Интересующийся
Отправить личное сообщение для katjuha6 Посмотреть профиль Найти все сообщения от katjuha6
 
Регистрация: 31.01.2013
Сообщений: 12

ksa,
ткните носом, где кнопка, чтобы html код вставить? в смысле, чтобы он отображался не как код, а как страница?
вообще код такой
<div  class="check">
<input name="compare_65" id="compare_cart_65" alt="Сравнить" title="Сравнить" type="checkbox"  onclick="return CompareProduct( this,3);" class="compare_checkbox">
Сравнить
 </div>
Ответить с цитированием
  #6 (permalink)  
Старый 03.02.2013, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,802

katjuha6,
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
</head>
<body>
<div  class="check" >
<input name="compare_65" id="compare_cart_65" alt="Сравнить" title="Сравнить" type="checkbox"  onclick="return CompareProduct( this,3);" class="compare_checkbox">
Сравнить
 </div>
<script type="text/javascript">
function CompareProduct (a) {
a.parentNode.lastChild.data = a.checked ? "Перейти к сравнению" : "Сравнить"
}
</script>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2013, 18:17
Интересующийся
Отправить личное сообщение для katjuha6 Посмотреть профиль Найти все сообщения от katjuha6
 
Регистрация: 31.01.2013
Сообщений: 12

рони,
это код, который формируется непосредственно при выводе на страницу.
а код самой формы вот этот

<?php
//$param['product_type_id'] = $product_type_id;
//$_SESSION['vmCompareBtnParam'] = $param;
 
?>
<div  class="check">
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
//$show_checkboxes = @$_SESSION['vmCompareParam']['show_checkboxes'];
//$product_type_id = $param['product_type_id'];
$session =& JFactory::getSession();
$compare = $session->get('compare');
if(isset($compare[$product_type_id])&& is_array($compare[$product_type_id]) && in_array($product_id, $compare[$product_type_id]) )
 {   $checkValue = 'checked="checked"';}
else {  $checkValue = '';}
?>
<input name="compare_<?php echo $product_id ?>" id="compare_cart_<?php echo $product_id ?>" alt="<?php echo $VM_LANG->_('VM_CART_COMP')?>" title="<?php echo $VM_LANG->_('VM_CART_COMP')?>" type="checkbox" <?php echo $checkValue ?> onclick="return CompareProduct( this,<?php echo $product_type_id ?>);" class="compare_checkbox">
<?php echo "сравнить"?>
 </div>
Ответить с цитированием
  #8 (permalink)  
Старый 03.02.2013, 20:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<?php
//$param['product_type_id'] = $product_type_id;
//$_SESSION['vmCompareBtnParam'] = $param;
  
?>
<div  class="check">
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
//$show_checkboxes = @$_SESSION['vmCompareParam']['show_checkboxes'];
//$product_type_id = $param['product_type_id'];
$session =& JFactory::getSession();
$compare = $session->get('compare');
if(isset($compare[$product_type_id])&& is_array($compare[$product_type_id]) && in_array($product_id, $compare[$product_type_id]) )
 {   $checkValue = 'checked="checked"';}
else {  $checkValue = '';}
?>
<input name="compare_<?php echo $product_id ?>" id="compare_cart_<?php echo $product_id ?>" alt="<?php echo $VM_LANG->_('VM_CART_COMP')?>" title="<?php echo $VM_LANG->_('VM_CART_COMP')?>" type="checkbox" <?php echo $checkValue ?> onclick="nextSibling.innerHTML = checked ? 'перейти к сравнению' : 'сравнить';return CompareProduct( this,<?php echo $product_type_id ?>);" class="compare_checkbox"><span>сравнить</span>
 </div>
Ответить с цитированием
  #9 (permalink)  
Старый 03.02.2013, 21:05
Интересующийся
Отправить личное сообщение для katjuha6 Посмотреть профиль Найти все сообщения от katjuha6
 
Регистрация: 31.01.2013
Сообщений: 12

спасибо большое, работает. =)
скажите, пожалуйста, а можно ли сделать так, чтобы при переходе по ссылке не изменялся текст.
т.е. когда переходишь по ссылке или обновляешь страницу - чекбокс "перейти к сравнению" снова изменяется на "сравнить". можно ли как-то "закрепить" это "перейти к сравнению" при переходе по ссылкам?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
смена картинок при нажатии sdff Общие вопросы Javascript 15 08.02.2014 15:08
Присваивание класса при нажатии на ссылку skorpeeon Элементы интерфейса 10 25.07.2013 19:07
Запуск выполнения PHP при нажатие на кнопку??? Abibas220 Общие вопросы Javascript 1 05.01.2011 11:05
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 19:18
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 12:36