смена текста при нажатии на кнопку
всем доброго времени суток, уважаемые форумчане!
есть такой код
<?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>
конструкция данного кода такая: чекбокс и рядом с ним текст "сравнить". как сделать так, чтобы когда кликали по чекбоксу текст рядом с ним изменялся на "перейти к сравнению"? Буду очень признательна за помощь =) |
Цитата:
|
onclick="nextSibling.innerHTML = 'перейти к сравнению';return Compa...
Трэш конечно... но ведь это VirtueMart ... |
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 непонятен. Если написано верно - тогда этот код не подходит. товары в сравнение не добавляются. |
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> |
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>
|
рони,
это код, который формируется непосредственно при выводе на страницу. а код самой формы вот этот
<?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>
|
<?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>
|
спасибо большое, работает. =)
скажите, пожалуйста, а можно ли сделать так, чтобы при переходе по ссылке не изменялся текст. т.е. когда переходишь по ссылке или обновляешь страницу - чекбокс "перейти к сравнению" снова изменяется на "сравнить". можно ли как-то "закрепить" это "перейти к сравнению" при переходе по ссылкам? |
| Часовой пояс GMT +3, время: 05:22. |