主要匯總?cè)齻€(gè)要點(diǎn):1.頁(yè)面提交后,經(jīng)過#submit處理后,需要redirect 跳轉(zhuǎn)到另外一個(gè)頁(yè)面。2.url路徑中存在destination參數(shù)時(shí),頁(yè)面直 " /> 午夜性爽快免费视频播放,色综合天天综合,国产wwabc885cam在线看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Drupal7 form表單二次開發(fā)要點(diǎn)與實(shí)例

請(qǐng)記得收藏此文,在你進(jìn)行Drupal 7 custom module時(shí),經(jīng)常會(huì)用到的form 表單的跳轉(zhuǎn)或重載。

主要匯總?cè)齻€(gè)要點(diǎn):

1.頁(yè)面提交后,經(jīng)過#submit處理后,需要redirect 跳轉(zhuǎn)到另外一個(gè)頁(yè)面。
2.url路徑中存在destination參數(shù)時(shí),頁(yè)面直接跳轉(zhuǎn)到destination所指的url,無法控制的問題。
3.form表單如何實(shí)現(xiàn)multiple steps forms 多個(gè)步驟,或者表單提交后,如何在表單獲取到提交上來的值。

一、Form 表單 redirect(跳轉(zhuǎn))到另外一個(gè)頁(yè)面

$form_state['redirect'] 的值可以是字符串或者數(shù)組,值通過url后,生成跳轉(zhuǎn)地址。

復(fù)制代碼 代碼如下:$form_state['redirect'] = array(
  'node/123',
  array(
    'query' => array(
      'foo' => 'bar',
    ),
    'fragment' => 'baz',
}
//頁(yè)面將會(huì)跳轉(zhuǎn)到 node/123?foo=bar#baz

復(fù)制代碼 代碼如下:$form_state['redirect'] = 'node/123'
//頁(yè)面將會(huì)跳轉(zhuǎn)到 node/123


如果不指定$form_state['redirect'] 的值,默認(rèn)跳轉(zhuǎn)到當(dāng)前頁(yè)面。drupal_goto(current_path(), array(‘query' => drupal_get_query_parameters())); API中是這樣執(zhí)行的。

二、Form 表單 destination(目的地)被指定時(shí)也可以改變跳轉(zhuǎn)的地址

在drupal_goto 函數(shù)中,你可以看到如果url路徑中存在destination參數(shù),頁(yè)面直接就到destination所指向的鏈接,導(dǎo)致某些表單下的多個(gè)按鈕提交后,本應(yīng)redirect 跳轉(zhuǎn)的頁(yè)面也不盡不同。

于是在form的#submit 函數(shù)中,某些操作時(shí)可以直接刪除掉destination。

復(fù)制代碼 代碼如下:if (isset($_GET['destination'])) {
  $form_state['redirect'] = array('next_step_page_url', array('query' => drupal_get_destination()));
  unset($_GET['destination']);
}
我采取的方法是,重新定義一個(gè)url并繼續(xù)傳遞destination,但是將$_GET中的destination刪除掉。但是一般還是會(huì)經(jīng)常用到destination這個(gè)目的地的跳轉(zhuǎn)。

三、Form 表單 實(shí)現(xiàn)multiple steps多個(gè)步驟,F(xiàn)orm表單重載,獲取Form提交的值

這些問題其實(shí)歸根到底都是一個(gè)意思,就是讓表單繼續(xù)提交下去。而不是刷新頁(yè)面。只需在form 表單的 #submit 函數(shù)中 執(zhí)行以下代碼:

復(fù)制代碼 代碼如下:if ($form_state['values']['op'] == t("Next Step")) {
  $form_state['rebuild'] = TRUE;
  $form_state['storage']['users'] = $form_state['values']['users'];
}
在form的define定義中即可獲取到$form_state['storage']['users']這個(gè)值。

參考Drupal7 相關(guān)API函數(shù):

drupal_redirect_form
drupal_goto
drupal_get_destination

php技術(shù)Drupal7 form表單二次開發(fā)要點(diǎn)與實(shí)例,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 一级寡妇乱色毛片全18 | 国产极品自拍 | 国产美女视频免费 | 国产女人伦码一区二区三区不卡 | 丁香六月在线观看 | 国产成人在线看 | 国产精品人成 | 成年人香蕉视频 | 国产精品夜色视频一区二区 | 天天爽天天乐 | 日本精品久久久久护士 | 精品国产高清a毛片无毒不卡 | 一二三四视频社区在线播放中国 | 天天拍夜夜添久久精品中文 | 久久久久网站 | 久久九九亚洲精品 | 国产美女在线看 | 欧美欧美乱码一二三区 | 中文字幕一区二区视频 | 国产产一区二区三区久久毛片国语 | 亚洲国产天堂久久综合 | 五月婷婷综合激情网 | 国产无套在线播放 | 亚洲一区www| 久久精品视频一区二区三区 | 欧美日韩免费大片 | 亚洲人成依人成综合网 | 国产精品免费视频播放 | 黄页视频在线观看 | 99久久精品免费看国产一区二区 | 国产视频福利在线 | 亚洲一区二区三区麻豆 | 在线播放人成午夜免费视频 | 国产精品久久久久久福利 | 国产一区二区网站 | 凹凸精品视频分类国产品免费 | 欧美色网络 | 日本 ed2k| 日本人妖tubexxxx | 韩国三级久久 | 久久夜色精品国产飘飘 |