codeigniter中的form_button()

问题描述 投票:1回答:2

我只想用form helper创建这样的按钮(带撇号['])

<button type="button" data-button='{"func": "func1"}'>click1</button>

但是当实现一些代码时:

form_button(array(
    'data-button' => '{"func": "func1"}',
    'content' => 'click1',
    )
)

结果是(引用["])

<button type="button" data-button="{"func": "func1"}">click1</button>

我正在尝试检查元素,结果是:

<button type="button" data-button="{" func":"func1"}"="">click1</button>

当按钮单击时,按钮中的JSON表示this link的语法错误

javascript json function codeigniter
2个回答
1
投票

两件事情,

  1. form_button接受3个参数, form_button([$data = ''[, $content = ''[, $extra = '']]]) 所以,你的功能应该是 form_button('', 'click1', array( 'data-button' => json_encode(array('func'=>'func1')) ) );
  2. 表单助手库有一些问题,要解决,导航到文件夹,your_project/system/helpers/form_helper.php,找到函数_attributes_to_string,找到行说, $atts .= ' '.$key.'="'.$val.'"';, 改为 $atts .= ' '.$key.'="'.html_escape($val).'"';

这将解决您的问题。


0
投票

改变

form_button(array(
    'data-button' => '{"func":"func1"}',
    'content' => 'click1',
    )
)

$dbutton = array("func" => "func");

$data =array(
        'data-button' =>json_encode($dbutton),
        'content' => 'click1',
       );

form_button($data);
© www.soinside.com 2019 - 2024. All rights reserved.