RubyonRails-通过link_to中的javascript刷新span标记
Ruby on Rails - span tag refresh by javascript in link_to
我有一个由javascript刷新的span标记。所以在我看来,这个代码将显示数字:
<span id="actual_nbr"></span> # Show the number via javascript
javascript看起来像:
document.getElementById("actual_nbr").innerHTML = 1;
现在我想在link_to中使用这个值来创建一个对象:
<%= link_to "OK", { :action => "create", :nbr => content_tag(:span, 'actual_nbr') }, :confirm => "Are you sure?", :method => :create %>
如果我检查我的元素,我会得到:
<a confirm="Are you sure?" data-method="create" href="/purchases?nbr=%3Cspan%3Eactual_nbr%3C%2Fspan%3E" rel="nofollow">OK</a>
而且,它给我返回了一个错误,因为span标签被认为是文本而不是html标签:
{"_method"=>"create",
"authenticity_token"=>"7CC6I1HrmFZcT2Qrkriafago1ZGhizX4cJL+FaSyRkw=",
"nbr"=>"<span>actual_nbr</span>"}
做我想做的事情最好的方法是什么?
感谢
Ruby是服务器端的,不能查看JavaScript在客户端做什么的结果,所以如果没有JavaScript的帮助,你就无法做到这一点。我建议从Rails(如id: "purchaseIt"
)向元素添加一个id,并向锚点添加一个HTML5数据属性:data-nbr="nojs"
,然后用您需要的内容从JavaScript更新元素:document.getElementById('purchaseIt').setAttribute('data-nbr','1');
我使用Ajax来解决问题。
在我的javascript中:
function submitForm() {
$.ajax({
type:'POST',
url: '/purchases',
data: $.param({ purchase: {id: variable_id, nbr: variable_nbr }})
});
}
在我看来:
<button type="button" onclick="submitForm()">Send data</button>
在我的控制器中:
def create
Rails.logger.debug "***************************************"
Rails.logger.debug params
Rails.logger.debug "***************************************"
@purchase = current_user.purchases.create(purchase_params)
if @purchase.save
redirect_to @purchase.paypal_url(user_path(current_user), purchase_params[:id], purchase_params[:nbr])
else
redirect_to(root_url)
end
end
我也用过购物创建而不是购买构建
相关文章:
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 如何使用javascript刷新父页面并关闭子窗口
- 如何在javaservlet中通过javascript刷新图像
- 使用JavaScript刷新页面时未保存的更改
- 如何使用javascript刷新我的html页面时清除按钮单击
- 我如何让网页在每次使用 Javascript 刷新时随机生成一个新视频
- 如何返回到上一页并用php或javascript刷新它
- 在带有嵌入的对象中使用JavaScript刷新视频
- 使用javascript刷新ContentPlaceHolder
- 如何使用javascript刷新APPLET而不在asp.net中重新加载页面
- Javascript 刷新查询数据库
- PHP密码脚本和JavaScript刷新冲突,发出我想消除的表单重新提交消息
- 添加到购物车而不使用 JavaScript 刷新
- 使用 JavaScript 刷新页面一次
- 单击以通过 JavaScript 刷新对象
- 强制 JavaScript 刷新
- Javascript刷新一次而不使用主题标签
- 在 Firefox 中使用 JavaScript 刷新页面
- 使用 JavaScript 刷新内部页面
- 如何使用 javascript 刷新另一个页面,而无需在新选项卡中打开同一页面