1

去年提出了一个与此完全相同的问题,但这个问题是针对 Drupal 6 的,我想知道 Drupal 7 是否有变化。

我可以将 Drupal 表单中的第二个或以后的按钮设为默认按钮吗?

在我的表单中,我有大约四个提交按钮表单元素。四个中的三个具有指定的提交函数,另一个使用默认的 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)

现在,如果我在表单上按 Enter,Button_1就会被执行。我希望主按钮成为默认按钮,这样当用户按下回车键时,该主按钮不会被提交Button_1

在上面提到的帖子中,答案之一是使用重量。我尝试使用重量,但所做的只是改变按钮在屏幕上的排列方式。是的,这确实允许Main_Button, 被提交,但是我需要该按钮在其原始位置。

4

2 回答 2

2

仅使用 HTML 无法做到这一点。(所以表单 API 无能为力)因为没有标准也没有 html 属性来处理多个提交表单中的默认提交。您应该使用 CSS,但如果您不想重新设置样式,可以使用 jQuery。祝你好运!

 //Not tested
  $("#target").keypress(function(event) {
    if ( event.which == 13 ) {
       event.preventDefault();
       $('correctSubmit').submit();
     }
  });
于 2012-05-15T04:05:10.033 回答
0

如何确定 HTML 表单上的默认提交按钮中确定的解决方案?显示了解决此问题的纯 HTML / CSS 方式。我在http://pahsah.com/2015/08/10/html-forms-specifying-a-default-submit-button-pure-htmlcss-approach/上扩展了该主题。

于 2015-08-10T04:56:05.353 回答