Вопрос по форме...

Статус
В этой теме нельзя размещать новые ответы.

Mr.Friction

Старатель
Регистрация
14 Ноя 2006
Сообщения
176
Реакции
12
Есть вот такая форма...
PHP:
<form action="<?php echo $link; ?>" method="get" name="frmsearch">

        <?php echo $output; ?> <br /><b>Искать:</b>
<input type="radio" name="mambot_used" value="0" checked="checked">
    <?php
        for($i=0;$i<count($listBot);$i++){
            $k = $i+1;
            ?>
            <input type="radio" name="mambot_used" value="<?php echo $k?>" <?php if(!empty($bot_used) && $k == 0){ echo 'selected="selected"'; } ?> ><label for="<?php echo $k?>"> <?php echo $listBot[$i]->name ?> </label>
            <?php
        }
        ?>
    </div>
    <input type='hidden' name='checkBot' value='1' id="checkBot" />
    <input type="hidden" name="option" value="com_search_adv" />
    <input type="hidden" name="Itemid" value="<?php echo $_Itemid; ?>" />    
</form>
как сделть, чтоб при value="0" передавалось значение checkBot' value='0' а при всех остальных checkBot' value='1' - тоесть как сейчас и передаётся.
 
как сделть, чтоб при value="0" передавалось значение checkBot' value='0' а при всех остальных checkBot' value='1' - тоесть как сейчас и передаётся.

Если checkBot зависит только от mambot_used, то не понимаю нафига он тебе нужен в форме
При получении формы проверь mambot_used и присваивай checkBot соответствующее значение

$checkBot = ($_GET['mambot_used'] == 0) ? 0 : 1;
 
Поясню - это я пытаюсь переделать из формы селект в форму радио (под джуму).
На селект стояла такая простая функция на яве <script type="text/javascript">
function execute_search(){
obj_selectbox = document.getElementById('mambot_used');
selected_index = obj_selectbox.selectedIndex;
if(selected_index > 0){
document.getElementById('checkBot').value = 1;
}
}
</script>

а вот переколбасить эту функцию под radio невыходит.

полный код выглядит вот так:
PHP:
$button            = $params->get( 'button', '' );
$button_pos        = $params->get( 'button_pos', 'left' );
$button_text    = $params->get( 'button_text', _SEARCH_TITLE );
$width             = intval( $params->get( 'width', 20 ) );
$text             = $params->get( 'text', _SEARCH_BOX );
$set_Itemid        = intval( $params->get( 'set_itemid', 0 ) );

$output = '<input name="searchword" id="mod_search_selector_searchword" maxlength="20" alt="search" class="inputbox'. $moduleclass_sfx .'" type="text" size="'. $width .'" value="'. $text .'"  onblur="if(this.value==\'\') this.value=\''. $text .'\';" onfocus="if(this.value==\''. $text .'\') this.value=\'\';" />';

if ( $button ) {
    $button = '<input type="submit" value="'. $button_text .'" class="advanced_search_button'. $moduleclass_sfx .'"/>';
}

switch ( $button_pos ) {
    case 'top':
        $button = $button .'<br/>';
        $output = $button . $output;
        break;

    case 'bottom':
        $button =  '<br/>'. $button;
        $output = $output . $button;
        break;

    case 'right':
        $output = $output . $button;
        break;

    case 'left':
    default:
        $output = $button . $output;
        break;
}

// set Itemid id for links
if ( $set_Itemid ) {
    // use param setting
    $_Itemid    = $set_Itemid;
    $link         = 'index.php?option=com_search_adv&amp;Itemid='. $set_Itemid;
} else {
    $query = "SELECT id"
    . "\n FROM #__menu"
    . "\n WHERE link = 'index.php?option=com_search_adv'"
    . "\n AND published = 1"
    ;
    $database->setQuery( $query );
    $rows = $database->loadObjectList();
    
    // try to auto detect search component Itemid
    if ( count( $rows ) ) {
        $_Itemid    = $rows[0]->id;
        $link         = 'index.php?option=com_search_adv&amp;Itemid='. $_Itemid;
    } else {
    // Assign no Itemid
        $_Itemid     = '';
        $link         = 'index.php?option=com_search_adv';    
    }
}

$query = "SELECT name, folder, element, published, params"
        . "\n FROM #__mambots"
        . "\n WHERE published >= 1"
        . (isset($gid) ? "\n AND access <= " . (int) $gid : '')
        . "\n AND folder = 'search'" 
        . "\n ORDER BY ordering"
        ;
$database->setQuery( $query );
$listBot = $database->loadObjectList();

$bot_used = mosGetParam($_REQUEST,'mambot_used');
?>

<form action="<?php echo $link; ?>" method="get" name="frmsearch">
    <div>
        <select name="mambot_used" id="mambot_used" onchange="execute_search()">
        <option value="0"> - All  - </option>
        <?php
        for($i=0;$i<count($listBot);$i++){
            $k = $i+1;
            ?>
            <option value="<?php echo $k?>" <?php if(!empty($bot_used) && $k == $bot_used){ echo 'selected="selected"'; } ?>> <?php echo $listBot[$i]->name ?> </option>
            <?php
        }
        ?>
        </select>
    </div>
    <div class="search<?php echo $moduleclass_sfx; ?>">
        <?php echo $output; ?>
    </div>
    
    <input type='hidden' name='checkBot' value='0' id="checkBot" />
    <input type="hidden" name="option" value="com_search_adv" />
    <input type="hidden" name="Itemid" value="<?php echo $_Itemid; ?>" />    
</form>
<script type="text/javascript">
function execute_search(){
    obj_selectbox = document.getElementById('mambot_used');
    selected_index = obj_selectbox.selectedIndex;
    if(selected_index > 0){
        document.getElementById('checkBot').value = 1;
    }
}
</script>
после моих переделак поменялась только форма.
а вот как доделать эту хрень - не понимаю.

Добавлено через 15 минут
Всё спасибо сделал - поставил в обработчик....
Просто думал, что можно где-то в форме обойтись.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху