2012-05-21 69 views
1

下午好默認值,設置一個Facebook的註冊插件「文本字段」

我現在使用Facebook的註冊插件,我會設置一個字段的文本類型的默認值。

但我不知道是否有可能?如何在PHP和插件中設置文本字段的默認值?謝謝你的幫助 !

<iframe src="https://www.facebook.com/plugins/registration? 
     client_id=APP_ID& 
     redirect_uri=[...]& 
     fields=[{'name':'name'}, 
       {'name':'last_name'}, 
       {'name':'first_name'}, 
       {'name':'birthday'}, 
       {'name':'gender'}, 
       {'name':'email'}, 
       {'name':'telephone', 'description':'T\u00e9l\u00e9phone', 'type':'text', 'default':'sith'}, 
       {'name':'portable', 'description':'Portable (facultatif)', 'type':'text','no_submit':true}, 
       {'name':'fax', 'description':'Fax (facultatif)', 'type':'text','no_submit':true}, 
       {'name':'adresse','description':'Adresse','type':'text','default':'truc'}, 
       {'name':'adresse_suite','description':'Adresse (suite)','type':'text','no_submit':true}, 
       {'name':'code_postal','description':'Code postal','type':'text'}, 
       {'name':'ville','description':'Ville','type':'text'}, 
       {'name':'pays','description':'Pays','type':'select', 
       'options':[...]}, 
       {'name':'password'}, 
       {'name':'captcha'}, 
       {'name':'abonnement','description':'Re\u00e7evoir la Newsletter','type':'checkbox'}, 
       {'name':'stop_pub','description':'Re\u00e7evoir des offres marketing et bons d\'achat','type':'checkbox'}, 
       {'name':'offre_sortir','description':'Re\u00e7evoir des bons plans Sortir Malin dans votre r\u00e9gion','type':'checkbox'}, 
       {'name':'offre_partenaire','description':'Offres publicitaires de la part d\'autres partenaires','type':'checkbox'}]" 
      scrolling="auto" 
      frameborder="no" 
      style="border:none" 
      allowTransparency="true" 
      width="100%" 
      height="850" 
      onvalidate="validate"> 
    </iframe> 

對不起,我的英語不好,我是法國人! =)

+0

這個iframe代碼有什麼問題,或者你問如何向它添加動態內容? –

+0

我只是問如何通過PHP向它添加動態內容,並使它成爲optionnal(例如「傳真」或「手機」字段)? –

回答

0

根據documentationdefault參數僅適用於type:selecttype:checkbox字段,而不是文本字段):所以你有點擰在那裏。

參考: default only applies to select and checkbox fields http://o7.no/K5jDj0

但是,如果是我,我會建的,我想送選項的完整陣列,並json_encode他們一個去,而不是定義它們直接在標籤內,例如:

<?php 
$regOptions = array(
    array('name' => 'name'), 
    array('name' => 'last_name'), 
    array('name' => 'birthday'), 
    //the other fields 
    array('name' => 'telephone', 
      'description' => 'T\u00e9l\u00e9phone', 
      'type' => 'text' 
    ), 
    //the other fields 
); 
?> 

//Then in your iframe: 
<iframe src="https://www.facebook.com/plugins/registration? 
    client_id=APP_ID& 
    redirect_uri=[...]& 

    fields="<?= urlencode(json_encode($regOptiosn)); ?> 

    scrolling="auto" 
    frameborder="no" 
    style="border:none" 
    allowTransparency="true" 
    width="100%" 
    height="850" 
    onvalidate="validate"> 
</iframe> 

這允許您利用json_encodeurlencode來定義的字段,而不用擔心瀏覽器打亂請求因靠不住的字符串。

至於一些字段是可選的,需要檢查advaned registration button features在doucmentation。 FB爲您提供了幾種驗證表單的方法,當字段無效/未填寫時,您應該允許您阻止表單提交。

+0

確實,在PHP中製作它並將其編碼以將其發送到視圖更合適。我已經按照你的第二個選項,但我總是有同樣的問題。我無法定義默認值爲我的輸入文本=(。'默認'屬性不起作用。我的代碼在這裏:http://vpaste.net/JTmXH –

+0

啊...更新答案。 –

+0

感謝您的我已經找到了一個解決方案:分兩步完成我的表單完成:一個與基本信息,名稱,電子郵件...和另一個步驟與補充信息,如電話號碼......很快見到!;) –