Zend form setAttribs with json_encode
Zend form setAttribs with json_encode
我有一个zend form select元素,它调用javascript函数onchange。如下:
$element->setAttribs(array( 'onchange' => 'toggleSelect(this.value, ' . json_encode($this->_testData) . ')'));
问题是,ZEND onchange和json_encode都使用双引号,所以它变成了:
<select onchange="toggleSelect(1, {"foo" : "bar"})"></select>
抱怨无效的属性id。我认为这是双引号导致的问题,但不知道如何解决。
Try
$element->setAttribs(array( 'onchange' => 'toggleSelect(this.value, ' . htmlspecialchars(json_encode($this->_testData)) . ')'));
使用htmlspecialchars,你应该以
结束<select onchange="toggleSelect(1, {"foo" : "bar"})"></select>
应该是有效的html,并且仍然将您的参数解释为有效的JSON对象。
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 为什么MooTools JSON.encode()返回“$呼叫者”:无效的
- Json.Encode 在 CS 文件中工作,但不在 CSHTML 中工作
- JSON.decode和JSON.encode所代表的
- Json encode a php mysql query
- Ext.util.JSON.encode可能返回未定义的值
- Json.encode特殊符号u003c MVC3
- php-json:encode在服务器上的angular控制器上的http调用中返回undefined,但在localh
- 如何正确解码使用Html.Raw(JSON.Encode(Model))编码的JSON字符串
- Html encode json values
- CanvasJS:使用data.php、json encode和ajax(带宽计)制作动态图表
- 表中的JSON ENCODE输出