Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Запретить настраиваемой кнопке отправки запускать проверку формы в форме CCK

Автор вопроса: hitfactoryОтветов: 2

Я добавил кнопку отправки внутри группы полей в форме CCK, используя hook_form_alter следующим образом:

function mymodule_form_alter(&$form, $form_state, $form_id) {

  if ($form_id == 'object_node_form') {

   $form['group_wikipedia']['search'] = array(

 '#type' => 'submit',
 '#value' => t('Search Wikipedia'),
 '#name' => 'searchwiki',
 '#submit' => array('mymodule_searchwiki_submit'),
   );

  }
}

Когда я нажимаю кнопку, обработчики проверки для полной формы, например. проверяет наличие обязательных полей, как если бы я нажал кнопку "Отправить" в конце формы.

Я думал, что изменение свойства #name с op на searchwiki предотвратит подобную путаницу, но это не так.

Кто-нибудь знает обходной путь для этого?

drupalcckdrupal-fapidrupal-alter

Ответы

Ответ 1 · googletorp

Я считаю, что вся форма всегда будет отправлена, независимо от того, какую кнопку отправки нажимает пользователь. Если вы хотите создать функцию поиска, вы можете создать некоторый AJAX, который извлекает данные и отображает их. Используя jQuery, вы также сможете остановить отправку формы, но вернете FALSE для функции нажатия кнопки (которую вы можете сделать в своем js). Однако вы, вероятно, не сможете использовать достоинства API формы Drupal.

Ответ 2 · рейтинг -1 · Marlorn

Вы можете использовать jQuery event.preventDefault ()

http://api.jquery.com/event.preventDefault/

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы