如何在Phalcon中创建水平表单

时间:2014-06-12 23:42:33

标签: html css forms alignment phalcon

一个非常基本的问题。我研究了这些例子和INVO& amp; Vokuro由Phalcon提供。 Vokuro示例使用表单,但所有示例都使用垂直表单(一个字段低于其他字段)。他们使用使用伏特模板的form.render()函数和表单本身。如果我想创建包含两列或更多列的字段的Phalcon表单,我该怎么做。是使用html表的唯一方法还是有其他方法。

以下是来自Vokuro“用户表单”示例的代码,该示例创建了一个垂直形式:

<div class="clearfix">  <label for="name">Name</label>
    {{ form.render("name") }}
</div>

<div class="clearfix">  <label for="email">E-Mail</label>
    {{ form.render("email") }}
</div>

<div class="clearfix">  <label for="profilesId">Profile</label>
    {{ form.render("profilesId") }}
</div>

相应的表单代码是:

$name = new Text('name', array('placeholder' => 'Name' ));
$name->addValidators(array(
    new PresenceOf(array('message' => 'The name is required'
    ))    ));
$this->add($name);

$email = new Text('email', array('placeholder' => 'Email'    ));
$email->addValidators(array(
    new PresenceOf(array('message' => 'The e-mail is required' )),
    new Email(array( 'message' => 'The e-mail is not valid'
    ))    ));
$this->add($email);

$this->add(new Select('profilesId', Profiles::find('active = "Y"'), array(
    'using' => array('id', 'name' ),.....some more code.......)));

这将创建一个表格,如下所示:

  

创建用户

     

名称

     

[文字框]

     

电子邮件

     

[文字框]

     

资料

     

[列表框]

如果我尝试在div标签中使用style =“float:left”,那么删除它们并没有多大帮助。我想要一个像这样的表格:

标签:[输入字段] -gap-标签:[输入字段]

标签:[输入字段] -gap-标签:[输入字段]

如果空间允许,请创建三列而不是两列,如上所示。

由于

2 个答案:

答案 0 :(得分:0)

那是因为他们将每个元素都放在一个单独的div中

<div class="clearfix">  <label for="name">Name</label>
    {{ form.render("name") }}
</div>

<div class="clearfix">  <label for="email">E-Mail</label>
    {{ form.render("email") }}
</div>

但你可以按照你想要的任何方式安排。例如,在一行中:

<div class="clearfix">  
    <label for="name">Name</label>
    {{ form.render("name") }}
    <label for="email">E-Mail</label>
    {{ form.render("email") }}
</div>

答案 1 :(得分:0)

使用它

&#13;
&#13;
<div class="form-group">
     <label for="name">Name</label>
      {{ form.render("name",['class': 'form-control']) }}
 </div>
<div class="form-group">
      <label for="email">Email</label>
      {{form.render("email",['class': 'form-control'])}}
</div>
&#13;
&#13;
&#13;