通过数组或直接传递表单输入的属性

时间:2013-10-23 12:57:28

标签: php codeigniter

我正在尝试添加占位符和set_value,以便通过CodeIgniter的form_input设置value属性。我尝试了以下代码,但占位符不起作用:

 echo form_input('username', set_value('username'), "required='required'","placeholder='test'");

我是否正确传递了占位符?

此外,我尝试通过以下代码通过数组传递这些属性:

$usernameData=array(
    'id'=>'username',
    'value'=>set_value('username'),
    'required'=>'required',
    'placeholder'=>'UserName',
);
    echo form_input($usernameData);

但是对于上面的代码,set_value不起作用!你能告诉我如何在数组中使用set_value,以及如果我不使用数组(第一个例子),我怎样才能让占位符工作?

如果您需要更多说明,请告诉我

由于

3 个答案:

答案 0 :(得分:4)

不幸的是我没有时间测试你的代码,但是从CodeIgniter文档http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#functionreference你需要设置字段的名称

  

您必须通过函数的第一个参数提供字段名称。第二个(可选)参数允许您为表单

设置默认值
$usernameData=array(
'id'=>'username',
'name'=>'username', //you are missing this attribute
'value'=>set_value('username'),
'required'=>'required',
'placeholder'=>'UserName',
);

echo form_input($usernameData);

<强>更新

  

Form_input http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

     

允许您生成标准文本输入字段。您可以在第一个和第二个参数

中最小化地传递字段名称和值

如果您没有传递数组,这意味着您只能将field_name和value作为参数添加到form_input。

echo form_input('username', 'johndoe'); 
  

如果您希望表单包含一些其他数据,例如   Javascript,您可以在第三个参数中将其作为字符串传递:

$js = 'onClick="some_function()"';

echo form_input('username', 'johndoe', $js);

所以,你最终应该:

$placeholder= 'placeholder="test"';
echo form_input('username', set_value('username'), $placeholder);

答案 1 :(得分:0)

你可以像这样使用

<input name="country_name" id="country_name" value="<?php echo !empty($CountryDet)?$CountryDet['Country_Name']:'NA';?>" type="text" size="30" class="FormField" placeholder="Country Name" value="<?php echo set_value('country_name');?>" />

答案 2 :(得分:0)

试试这个

echo form_input(array('name' => 'username','value' => '','placeholder' => 'Username',));