Přeskočit přímo na text


Problém s checkboxom vo formuláry

Kategorie: Jak na to?
Týká se verze: Drupal 7.x

Mám vytvorený formulár s 3 checkboxami. Po odoslaní vo $form_state je hodnota chceckboxu aj napriek tomu že nie je začiarknutý. Kde môže byť chyba, alebo ako zistím že daný checkbox je žačiarknutý.

Nikde to nemôžem na drupal.org nájsť alebo zle hľadám?

Ďakujem.

 

CO je to za hodnotu? Jestli

CO je to za hodnotu?

Jestli je to On/Off checkbox, tak ten má hodnotu, i když necháte prázdný (má „0“, nikoliv NULL).

On je to chceckbox ten taký

On je to chceckbox ten taký hranatý, ale toto isté mi robí aj radio button. Zaujímavé je to že radios button funguje len vtedy ak je vybratá jedna z ponúkaných možností.

Uvediem sem aj kód:

/**
 * Implements hook_menu().
 */
function kalkulacka_menu() {

  $items[] = array();

  $items['kalkulacka'] = array(
    'title' => 'Interaktívna kalkulačka',
    'page callback' => 'kalkulacka_formular_form',

    'description' => 'Interaktívna kakulačka na výpočet ceny webovej stránky',
    'access arguments' => array('access content'),
    'menu_name' => 'main-menu',
    'type' => MENU_CALLBACK,
  );

  return $items;

}

function kalkulacka_formular_form($form, &$form_state) {

    $form['description'] = array(
    '#type' => 'item',
    '#title' => t('Interaktívna kalkulačka na výpočet predbežnej ceny webovej stránky.'),
    );


    $webs = array(199 => t('Balík Štart - jednoduchá webová stránka do rozsahu 5 podstránok'), 309 => t('Balík Štandard - Webová stránka o rozsahu od 10 do 15 podstránok'), 399 => t('Balík E-Obchod - Webová stránka s funkcionaitou internetového obchodu'), );

    $form['web'] = array(
        '#type' => 'radios',
        '#title' => t('Druh webovej stránky'),
        '#default_value' => 0,
        '#options' => $webs,
        '#description' => t('Vyberte si webovú stránku.'),

    );


    $form['fotogaleria'] = array(
        '#type' => 'checkbox',
        '#title' => 'Fotogaléria',
        '#required' => FALSE,
        '#value' => 45,
        '#description' => 'Fotogaléria',
    );

    $form['viacjazycny-web'] = array(
        '#type' => 'checkbox',
        '#title' => 'Viacjazyčný web',
        '#required' => FALSE,
        '#value' => 55,
        '#description' => 'Modul umožňuje preladať obsah webu do cudzích jazykov',
    );

    $form['gmaps'] = array(
        '#type' => 'checkbox',
        '#title' => 'Mapa',
        '#required' => FALSE,
        '#value' => 10,
        '#description' => 'Mapa pomocou služby Google maps',
    );

   $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Submit',
  );

    return $form;

}

function kalkulacka_formular_validate($form, &$form_state) {
  if ($form_state['values']['web'] == '') {
    form_set_error('', t('You must select a name for this group of settings.'));
  }
}

function kalkulacka_formular_form_submit($form, &$form_state) {
    unset($form_state['storage']);

    $item_web = $form_state['values']['web'];
    $item_gallery = $form_state['values']['fotogaleria'];
    $item_i18n = $form_state['values']['viacjazycny-web'];
    $item_gmaps = $form_state['values']['gmaps'];

    $sumarry = $item_web + $item_gallery + $item_i18n + $item_gmaps;

    drupal_set_message(t('The form has been submitted. Cena za web je @item_web, za fotogalériu @item_gallery, za viacjazyčný web @item_i18n, za mapu @item_gmap, spolu @sumarry', array('@item_web' => $form_state['values']['web'], '@item_gallery' => $form_state['values']['fotogaleria'], '@item_i18n' => $form_state['values']['viacjazycny-web'], '@item_gmap' => $form_state['values']['gmaps'], '@sumarry' => $sumarry)));

}

Asi som to prehliadol

Asi som to prehliadol http://api.drupal.org/…rence.html/7#… .

Ďakujem za pomoc.

Poslat nový komentář

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • You can use Texy! to format and alter entered content.
  • Povolené HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <p> <br> <b> <i> <h2> <img> <pre> <sup> <sub> <pre class="php"> <span class="php-keyword1"> <span class="php-var"> <span class="php-num"> <img class="screenshot"> <p class="beginner"> <a class="greybox"> <h3> <h4>

Více informací o možnostech formátování

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.

Hledat

Přihlášení

Bezpečnost Drupalu

Z hlediska bezpečnosti je Drupal na velmi vysoké úrovni, díky propracovanému systému hlášení, prověřování a řešení možných problémů.

Čtěte více a odebírejte bezpečnostní aktuality

Poslední komentáře

Kdo je online

Momentálně je online 3 uživatelé a 0 hostů.

Online uživatelé