7联系我们

图片1.png当我们点击“返回”按钮,就会回到前面的表单页面,当我们点击“提交”按钮时,就会正式的提交填写的数据。

 

    这个表单,我们没有定义验证函数,因为这里没有输入框。对于“返回”按钮和“提交”按钮,我们分别为其使用'#submit'属性为其定义了对应的提交处理函数。我们接下来看看这两个处理函数:

 

/**

 * 返回按钮对应的提交函数

 */

function contactus_confirm_form_back($form, &$form_state){

  //简单的重定向到contactus页面

$form_state['redirect'] = 'contactus';

}

 

/**

 * 提交按钮对应的提交函数

 */

function contactus_confirm_form_submit($form, &$form_state){

$values = NULL;

//从会话中获取用户最初提交的值,并将$_SESSION['contactus_form']置为空。

if(empty($_SESSION['contactus_form'])){

drupal_goto('contact');

}else{

$values = $_SESSION['contactus_form'];

unset($_SESSION['contactus_form']);

}


//收件人地址,这里为作者的邮箱

$to = 'g089h515r806@gmail.com';

//用户填写的邮箱地址

$from = $values['mail'];


//发送邮件

drupal_mail('contactus', 'contact', $to, language_default(), $values, $from);


//简单的重定向到致谢页面

$form_state['redirect'] = 'contactus/thanks';

}

 

   “返回”按钮的提交处理函数contactus_confirm_form_back的逻辑非常简单,就是一个重定向。“提交”按钮的处理函数contactus_confirm_form_submit,则包含获取用户最初提交的数据、发送邮件、重定向页面等三个组成部分。这个提交处理函数,是我们整个模块中最复杂的一个了,很多实际的提交处理函数可能比这个还要复杂一点。

 


Drupal版本: