Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在我的drupal自定义模块中添加重置按钮_Php_Drupal_Drupal 7 - Fatal编程技术网

Php 如何在我的drupal自定义模块中添加重置按钮

Php 如何在我的drupal自定义模块中添加重置按钮,php,drupal,drupal-7,Php,Drupal,Drupal 7,我在“myform.module”中有此代码: <?php function myform_menu(){ $menuItems = array(); $menuItems['myFirstForm'] = array( 'title' => 'My First Form', 'menu_name' => 'main-menu', 'file' => 'myform.inc', 'access arguments' =>

我在“myform.module”中有此代码:

<?php
function myform_menu(){
  $menuItems = array(); 

  $menuItems['myFirstForm'] = array(
    'title' => 'My First Form',
    'menu_name' => 'main-menu',
    'file' => 'myform.inc',
    'access arguments' => array('access content'),
    'page callback' => 'myform_callback',
  );  

  return $menuItems;
}

问题可能是它是一个提交按钮,并且发生在javascript之前。如果你想使用javascript,你应该使用一个链接,css作为按钮。按钮类型只需添加类

谢谢您的回答,但即使我使用“按钮”而不是“提交”,它也不起作用。还有我的提交处理程序,它没有被触发。哦,我刚刚得到它,是的,你是对的,#button_type”必须是“button”,因为默认情况下它是“submit”。因此,整个代码应该是这样的:$form['buttons']['cancel_1']=array('myform#type'=>'submit','button_type'=>'button','value'=>'Reset form','validate'=>array(),'submit'=>array('myform#selectors\u cancel\u submit');谢谢你的帮助
<?php
function myform_callback(){
  return drupal_get_form('myform_selectors');
}

function myform_selectors($form, &$form_state){      
    $form['colors'] = array(
      '#type' => 'select',
      '#options' => array(
        '0' => t('blue'),
        '1' => t('red'),        
      ),
      '#required' => TRUE,      
    );  

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

    $form['buttons']['cancel_1'] = array(
      '#type' => 'submit',
      '#value' => 'Reset form',
      '#validate' => array(),
      '#submit' => array('myform_selectors_cancel_submit'),      
    );

    $form['buttons']['cancel_2'] = array(
      '#markup' => '<input '. drupal_attributes(array('type' => 'reset', 'value' => t('Reset -') )) .' class="form-reset" />',
    );

    $form['buttons']['cancel_3'] = array(
      '#type' => 'button',
      '#button_type' => 'reset',
      '#value' => t('Clear -'),
      '#weight' => 9,
      '#validate' => array(),
      '#attributes' => array(
            'onclick' => 'this.form.reset(); return false;',
          ),
    );

    return $form;
}

// VALIDATION
function myform_selectors_validate(&$form, &$form_state){
  echo '<script type="text/javascript">alert("validation!"); </script>';
  if($form_state['values']['colors'] == '1'){
    form_set_error('colors', 'red is not good color!');
  }
}

// SUBMIT BUTTON
function myform_selectors_submit(&$form, &$form_state){
  drupal_set_message('ok');
}

// RESET BUTTON
function myform_selectors_cancel_submit(&$form, &$form_state){
  $form_state['rebuild'] = TRUE;
  drupal_set_message('canceled');
}