我在表单中有一个输入字段,用户可以通过单击按钮更新其名称。输入字段中的此更改应由Ajax捕获并更新。
Html -
<p id="name"><%= @current_user.name %></p>
<button type="button" id="namebtn"></i> </button>
咖啡脚本 -
$('form').on 'focusout', ->
$elem = $(this)
if !$elem.find(':focus').length
$.ajax({
type: "POST",
url: "http://localhost:3000/profile/name_change",
data: "{
'name': '"+$('#name').val()+"'}",
})
return
如何从输入字段中捕获已更改的输入?
答案 0 :(得分:2)
您说您有一个&#39;输入字段&#39;,但#name
显然是p
元素。在这种情况下,您需要使用text()
来获取其值。
另请注意,在检查focusout
元素时在表单上使用:focus
相当奇怪。您可以使用标准的click
处理程序:
$('#namebtn').on 'click', ->
$.ajax({
type: "POST",
url: "http://localhost:3000/profile/name_change",
data: { name: $('#name').text() }
})
return