Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/cakephp/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css cakePHP内联显示表单元素_Css_Cakephp_Helper - Fatal编程技术网

Css cakePHP内联显示表单元素

Css cakePHP内联显示表单元素,css,cakephp,helper,Css,Cakephp,Helper,我试图显示使用cakePHP表单帮助器内联构建的表单元素。它似乎与它围绕元素创建的类有关。我相信这可以通过CSS解决,但如果有其他方法,我更愿意正确处理: <?php echo $this->Form->create("users"); echo $this->Form->input("username",array("label" => false, "class" => false, "value" =

我试图显示使用cakePHP表单帮助器内联构建的表单元素。它似乎与它围绕元素创建的类有关。我相信这可以通过CSS解决,但如果有其他方法,我更愿意正确处理:

<?php
            echo $this->Form->create("users");
            echo $this->Form->input("username",array("label" => false, "class" => false, "value" => "Username", "class" => "loginCredentials"));
            echo $this->Form->input("password",array("label" => false, "class" => false, "value" => "Password", "class" => "loginCredentials"));
            echo $this->Form->input("loginBtn",array("label" => false, "class" => false, "value" => "LOGIN", "class" => "loginCredentials", "type" => "submit"));
            echo $this->Form->end();
            ?>

默认情况下,CakePHP在输入周围放置
s。您可以向每个输入添加
'div'=>false
选项:

echo $this->Form->input("username",array("label" => false, "div"=>false, "class" => false, "value" => "Username", "class" => "loginCredentials"));
或者,您可以为表单本身设置InputDefault:

echo $this->Form->create('whatever', array(
    'inputDefaults'=>array('div'=>'false', 'label'=>false)));

我的表单只有4个必填字段,由以下视图生成:

<div class="users form"> 
<?php echo $form->create('User', array('class'=>'form'));?>
<p class="formtitle">Sign Up</p>
<fieldset>
    <legend class="formtitle">Please complete the form below.</legend>
    <?php
        echo $form->input('username',  array(
            'label' => 'Login',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('password',  array(
            'label' => 'Password',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('password_confirm', array(
            'label' => 'Confirm password',
            'type'=>'password',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('name',  array(
            'label' => 'Name',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('surname',  array(
            'label' => 'Surname',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('email',  array(
            'label' => 'E-mail',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror'
                )
            ));
        echo $form->input('city_id',  array(
            'label' => 'City',
            'div'=>'formfield',
            'error' => array(
                'wrap' => 'div',
                'class' => 'formerror')));
    ?>
</fieldset>  
<?php echo $form->end('Submit');?>
</div>
生成以下内容:

<div class="formfield required">
<label for="UserUsername">Login</label>
<input name="data[User][username]" type="text" maxlength="20" value="" id="UserUsername" />
</div>
结果是:


别误会我的意思,我想你可以试试这个,这也会有帮助的

echo $form->create('Job',
        array(  'type'=>'file',
                'class' => 'form-horizontal',
                'inputDefaults' => array(
                    'div' => array('class' => 'form-group'),
                    //needs to be redefined due to restrictions of the text element we need to define for each input..
                    'label' => array('class' => 'col-sm-4 col-md-3 control-label'),
                    'class' => 'form-control',
                    'between' => '<div class="col-sm-8 col-md-9">',
                    'after' => '</div>'
                )
        )
    );
这将输出如下内容

<div class="form-group required">
    <label for="JobTaskfieldId" class="col-sm-4 col-md-3 control-label">Aufgabenbereich&nbsp;*</label>
    <div class="col-sm-8 col-md-9">
        <select name="data[Job][taskfield_id]" class="form-control" id="JobTaskfieldId">
            <option value="">Bitte wählen</option>
        </select>
    </div>
</div>

在CSS中搜索字符串“.loginCredentials”,它可能应用了“display”值或“float”,这将覆盖它们的默认显示:inline;。嘿,戴夫,谢谢你的回答。我使用了div=>false选项,但它不会删除submit按钮周围的div,有没有办法删除输入[type=submit]周围的div?我假设您的语法存在问题-它应该像任何其他输入一样在提交按钮上工作。要删除提交按钮周围的div,您需要在进行表单->结束调用时添加div=>false选项。所以改变
echo$this-Form-end()
to
echo$this->Form->end(数组('div'=>false))所有这些对我都不起作用,我使用的是CakePHP3
<div class=”formerror”></div>
.form{
    font-family: Verdana;   
    font-size:1em;
    margin:1em;
    padding:1em;   
}

.form p.formtitle{
    color: #026475;
    font-size:1.3em;
    font-weight: bold;
}

.form fieldset{
    width:40em;
    border:1px solid #FFE545;  
    background-image: url(../img/Contact.png);
    background-position: bottom right;
    background-repeat: no-repeat;
}

.form fieldset legend{
    color: #026475;
}

.formfield{
    width:30em;
    padding:5px;
}

.formfield label{
    display:block;
    float:left;
    width:12em;
    padding:1px;
    color:#C2A34F;
    text-align:right;
}

.formfield input, .formfield  select{
    padding:0.15em;
    width:14em;
    border:1px solid #ddd;
    background:#FEFBAF;

    font-family: Verdana;   
    font-size:1em;

    -moz-border-radius:0.4em;
    -khtml-border-radius:0.4em;
}

.formfield input:hover, input:focus {
    border-color:#c5c5c5;
    background:#f6f6f6;
}

.required input {
    border:1px solid #FBB829;
}

.form .submit input{
    font-family: Verdana;   
    font-size:1em;
    margin-top: 0.3em;
}

.formerror{
    position:relative;
    left:12.1em;
    color:#FBB829;
}
echo $form->create('Job',
        array(  'type'=>'file',
                'class' => 'form-horizontal',
                'inputDefaults' => array(
                    'div' => array('class' => 'form-group'),
                    //needs to be redefined due to restrictions of the text element we need to define for each input..
                    'label' => array('class' => 'col-sm-4 col-md-3 control-label'),
                    'class' => 'form-control',
                    'between' => '<div class="col-sm-8 col-md-9">',
                    'after' => '</div>'
                )
        )
    );
echo $form->input('taskfield_id',
        array(  'label'=> array('text' => 'Aufgabenbereich&nbsp;*','class' => 'col-sm-4 col-md-3 control-label'),
                'empty'=>'Bitte wählen'
        )
    );
<div class="form-group required">
    <label for="JobTaskfieldId" class="col-sm-4 col-md-3 control-label">Aufgabenbereich&nbsp;*</label>
    <div class="col-sm-8 col-md-9">
        <select name="data[Job][taskfield_id]" class="form-control" id="JobTaskfieldId">
            <option value="">Bitte wählen</option>
        </select>
    </div>
</div>
<div> <label> </label> <div> <input /> </div> </div>
label{float:left;width:25%}
label+div input{float:left;width:75%}