如何在codeigniter中使用form_open将action属性设置为空白?

时间:2017-03-15 08:14:58

标签: php codeigniter

我正在使用表单助手库在ci视图中加载表单。我正在使用的脚本是

echo form_open('');

但是当我检查表单或查看页面源时,它已经设置了具有基本URL的action属性。我想在使用form_open('')方法时将action属性设置为空白。我怎样才能获得form_open()方法的这种行为。通常我们在使用ci标准时设置这样的动作

echo form_open('abc/login');

所以有办法将动作属性保持为空白。

4 个答案:

答案 0 :(得分:1)

首先在窗体打开

的视图页面中加载视图

<强> View.php

// Open Form 
<?php $this->load->view('your_directory_path/form_open'); ?>

其次在单独的文件中添加表单开放代码,以便它可以附加到视图文件中的任何位置。

<强> form_open.php

<form method="post" id="XYZ_DEMO" name="XYZ_DEMO" enctype="multipart/form-data" class="ABC XYZ">

这样你就可以在codeigniter中使用form_open将action属性设置为空白。

答案 1 :(得分:0)

首先加载表单助手,以便使用form_open()方法。

$this->load->helper('form');

或在application/config/autoload.php中加载助手。

然后在视图中设置空白表单action属性。喜欢这个..

 <?php echo form_open('', array('id' =>'form_id', 'class'=>'form_class'); ?>

答案 2 :(得分:0)

空白操作指向当前页面,以便您可以使用

echo form_open(base_url());

答案 3 :(得分:0)

想要将action属性设置为空白,不确定要实现的目标。
如果你在form_helper中查看CI的 form_open 函数:

function form_open($action = '', $attributes = '', $hidden = array())
{
    $CI =& get_instance();

    if ($attributes == '')
    {
        $attributes = 'method="post"';
    }

    // If an action is not a full URL then turn it into one
    if ($action && strpos($action, '://') === FALSE)
    {
        $action = $CI->config->site_url($action);
    }

    // If no action is provided then set to the current url
    $action OR $action = $CI->config->site_url($CI->uri->uri_string());

    $form = '<form action="'.$action.'"';

    $form .= _attributes_to_string($attributes, TRUE);

    $form .= '>';

    /* MORE CODE */
}


你可以看到,如果没有设置$ action参数,它将被设置为当前的url。

// If no action is provided then set to the current url
$action OR $action = $CI->config->site_url($CI->uri->uri_string());

这可能是为什么当您将空参数传递给 form_open('')时,action属性仍然具有值。

如果你只是用html的方式会不会受伤?

<form action="" method="post" id="form_upload_submit">


如果你真的真的知道你想做什么,请继续编辑(我并不是真的建议这样做)位于system \ helpers \ form_helper.php中的form_helper.php中的form_open函数