【问题标题】:How do I fetch the contents entered in the Input field using Ajax?如何使用 Ajax 获取输入字段中输入的内容?
【发布时间】:2018-01-16 23:11:42
【问题描述】:

我在表单中有一个输入字段,用户通过单击按钮更新他们的姓名。输入字段的这种变化应该被 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

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

【问题讨论】:

  • 是的,我正在捕捉它们的焦点。它最初是一个 p 元素,点击一个按钮,它会变成可编辑的文本。现在,当它发生变化时,我需要捕获输入并使用 Ajax 异步传递它。

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


【解决方案1】:

您说您有一个“输入字段”,但 #name 显然是一个 p 元素。在这种情况下,您需要使用 text() 来获取其值。

还请注意,您在检查:focus 元素时在表单上使用focusout 是相当奇怪的。您可以改用标准的click 处理程序:

$('#namebtn').on 'click', ->
  $.ajax({
    type: "POST",
    url: "http://localhost:3000/profile/name_change",
    data: { name: $('#name').text() }
  })
  return

【讨论】:

猜你喜欢
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
相关资源
最近更新 更多