酷似这是去年问的,但这个问题是为Drupal 6,我想知道是否有一直为Drupal 7.改变如何使用多个提交表单元素在表单上设置默认提交按钮?
Can I make the second or later button in a Drupal form the default button?
在我的表单中的问题,我对四个提交按钮表单元素。四个中的三个具有指定的提交功能,另一个使用默认的hook_form_submit()函数来处理它的提交。
因此,这是三个按钮几乎是这样的:
$form['reset'] = array(
'#type' => 'submit',
'#value' => t('Reset Values'),
'#submit' => array('_phonebook_reset_config'),
);
这是主要的按钮是什么样子:
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Update'),
);
这是其中的形式创建的按钮的顺序:(Button_1, Button_2, Main_Button, Button_4)
。
现在,如果我按下表格上的输入,Button_1
得到执行。我希望主按钮是默认按钮,这样当用户按下回车键后,该主按钮就不会被提交到Button_1
。
在上面提到的帖子中,其中一个答案是使用体重。我尝试使用重量,但所做的只是改变了按钮在屏幕上的排列方式。是的,这确实允许Main_Button
被提交,但是我需要那个按钮在它的原始位置。
JavaScript本来是最后的手段。但是如果没有其他办法可以做到这一点,那就不得不这样做了。 – samwell
@ chudapati09它可能需要一些创造性的样式,但你总是可以使用CSS。不管怎样,不要责怪表单API,因为更改默认提交不能用HTML完成。它总是第一个。 –
@ chudapati09我调查过,似乎这不是Form Api限制。它只是不能用HTML来完成。所以不要因为不能用PHP做到这一点而感到难过:) –