html a标签escapeh函数使用,Escape_javascript问题

我的用户/编辑页面上有一组依赖的下拉菜单。用户选择父下拉列表,然后限制子下拉列表中的可用选择。用户可以添加多组额外的父/子下拉列表。产品是父级。品种就是子元素。

除非在数据库中输入包含双引号的变体,否则这一切都很有效。当发生这种情况时,它会破坏javascript,并且渲染部分的触发器根本不起作用。

单引号不会导致此问题,也不会导致我尝试过的任何其他字符。所以这个问题特定于双引号。我认为escape_javascript就是这里的答案,但我已经尝试将它放在代码中的许多不同位置并且没有任何效果。我很可能不知道助手和它的括号应该去哪里。

api文档非常糟糕。它说escape_javascript()。这对我没有帮助。同样,网上没有太多明确的指导。我搜索了几个小时。

以下是我的代码的相关部分:

用户#edit.html.erb

'season', :collection => @user.seasons %>用户#_season.html.erb

season %>

Product: 'name'), :id, :name, {:prompt => "Select Product"}, {:onchange => "collectionSelected(this);"} %>

"This is optional" %>的Javascript#dynamic_varieties.js.erb

var varieties = new Array();

varieties.push (new Array (, "", ));

function collectionSelected(e) {

product_id = e.getValue();

options = e.next(1).options;

options.length = 1;

varieties.each(function(variety) {

if (variety[0] == product_id) {

options[options.length] = new Option(variety[1], variety[2]);

}

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值