1

下午好,

我现在使用 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>

对不起我的英语不好,我是法国人!=)

4

1 回答 1

0

根据文档,该default参数仅适用于type:selectandtype:checkbox字段,而不适用于文本字段):所以你有点搞砸了。

供参考: 默认仅适用于选择和复选框字段 http://o7.no/K5jDj0

但是,如果是我,我会构建一个完整的选项数组,其中包含我想要发送的选项,并且一次完成,json_encode而不是直接在<iframe>标签内定义它们,例如:

<?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定义您的字段,而不必担心浏览器会因为不稳定的字符串而混淆请求。

至于某些字段是可选的、必需的,请查看文档中的高级注册按钮功能。FB 为您提供了几种验证表单的方法,这应该允许您在字段无效/未填写时阻止表单提交。

于 2012-05-21T13:07:50.220 回答