Javascript 输入后需要获取coffeescript的数据
我在rails应用程序中,我需要收集3个字段的输入,但我需要在用户输入后收集它们。我正在咖啡脚本中尝试,但不确定它是否正确Javascript 输入后需要获取coffeescript的数据,javascript,html,ruby-on-rails,coffeescript,Javascript,Html,Ruby On Rails,Coffeescript,我在rails应用程序中,我需要收集3个字段的输入,但我需要在用户输入后收集它们。我正在咖啡脚本中尝试,但不确定它是否正确 $("#mortgage").change -> mortgage = document.getElementsByName('mortgage')[0].value $("#price").change -> price = document.getElementsByName('price')[0].value $("#rent").change -
$("#mortgage").change ->
mortgage = document.getElementsByName('mortgage')[0].value
$("#price").change ->
price = document.getElementsByName('price')[0].value
$("#rent").change ->
rent = document.getElementsByName('rent')[0].value
我的html如下所示:
<%= text_field_tag :price, nil, placeholder: "ex. 100,000", class: "form-control form-control-lg", id: "price" %>
<%= text_field_tag :mortgage, nil, placeholder: "ex. 1,200", class: "form-control form-control-lg", id: "mortgage" %>
<%= text_field_tag :rent, nil, placeholder: "ex. 800", class: "form-control form-control-lg", id: "rent" %>
所以我知道有些不对劲。您试图通过名称获取元素,如果您已经提到元素的id,请尝试通过
getElementById获取元素。
我认为这应该适合您
$('#mortgage').change ->
mortgage = $(this).val()
$("#price").change ->
price = $(this).val()
$("#rent").change ->
rent = $(this).val()
尝试使用jQuery
试着做这样的事情
$('#mortgage').change (event) ->
mortgage = Number $(event.currentTarget).val()
正在传递事件,以便您可以获取currentTarget并将val()转换为数字您是否在浏览器控制台上获得了错误?是的,在chrome中,当我检查时,我在控制台上看到了错误。我已做了一些更改,请尝试此操作。没有,仍然获得错误。我的逻辑错了吗?我不熟悉coffeescript和javascript。很抱歉,错误出现在计算中,而不是数据收集中。你的回答是正确的,而且是第一位的。谢谢仍然有这个错误
uncaughtreferenceerror:price未定义
,正如您所知,我有3项抵押、价格和租金。我想price只是它第一次尝试获取的,你能显示堆栈跟踪吗?
$('#mortgage').change ->
mortgage = $(this).val()
$("#price").change ->
price = $(this).val()
$("#rent").change ->
rent = $(this).val()
$('#mortgage').change ->
mortgage = $(this).val()
$('#mortgage').change (event) ->
mortgage = Number $(event.currentTarget).val()