Как мога да предам стойността на списъка за избор към формуляр чрез url?

Опитвам се да изпратя стойност на избрания списък с URL адреса на формуляра със следното HTML маркиране.

<select class="form-select" name="field_with_contact[und]" id="edit-field-with-contact-und"><option value="_none">- None -</option><option value="26">Rawhi Pharmacy</option></select>

URL адресът на формуляра е http://www.example.com/node/add/deal.

Как мога да изпратя стойността 26 на формуляра?

Благодаря ти


person Mohammad Ereiqat    schedule 17.11.2012    source източник
comment
какво означава изпращане на стойността във формуляра? Искате да кажете да изпратите стойността на сървъра? Искате да кажете да изпратите стойността чрез низа на заявката?   -  person Neil McGuigan    schedule 17.11.2012


Отговори (2)


Можете да използвате модула Prepopulate, който е предназначен точно за тази цел.

Както е показано на страницата на проекта, URL като http://example.com/node/add/blog?edit[title]=this%20is%20the%20title ще попълни предварително заглавието с това е заглавието.

Модулът може да се използва с всеки формуляр и има официално издание, което се използва (на 6 август 2017 г.) от 5004 сайта.

Преди 1 януари 2013 г. използването на модула беше следното.

screenshot

Към 18 август 2017 г. използването на модула за Drupal 6 намаля, тъй като Drupal 6 вече не се поддържа официално, но общото използване леко се увеличи благодарение на използването му в сайтове на Drupal 7 и Drupal 8.

screenshot

person apaderno    schedule 19.11.2012

Ако отидете на „www.mysite.com/node/add/deal/26“, ще се отпечата следният код. Номерът, подаден в url, беше: 26

Ето кода:

function my_module_menu()
{
    $items = array();


    $items['node/add/deal/%'] = array(
        'title'           => 'Add deal',
        'page callback'   => 'drupal_get_form',
        'page arguments'  => array('node_add_deal_form', 3),
        'access callback' => array(TRUE),
        'type'            => MENU_CALLBACK,
    );

    return $items;
}

function node_add_deal_form($form, &$form_state, $number)
{
    $form = array();

    $form['number'] = array(
        '#markup' => '<p>The number passed in url was: '. $number. '</p>',
    );

    return $form;
}
person Triss    schedule 29.04.2016