如何使用Ajax获取在Input字段中输入的内容?

时间:2017-08-09 07:33:18

标签: jquery html ruby-on-rails ajax coffeescript

我在表单中有一个输入字段,用户可以通过单击按钮更新其名称。输入字段中的此更改应由Ajax捕获并更新。

Html -

<p id="name"><%= @current_user.name %></p>

<button type="button" id="namebtn">&#xE254;</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

如何从输入字段中捕获已更改的输入?

1 个答案:

答案 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