смена текста при нажатии на кнопку
всем доброго времени суток, уважаемые форумчане!
есть такой код <?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, время: 23:05. |