如何在 Tilda 中获取输入值?

How get input value in Tilda?

有一个站点构建器无法通过 DOM 获取表单输入。该怎么办? :)

此代码return无:

$('form').change(function() {
    alert('email input value: ' + $(this).find('input[name=Email]').attr('value'));
    alert('name input value: ' + $(this).find('input[name=Name]').attr('value'));
    alert('phone input value: ' + $(this).find('input[name=Phone]').attr('value'));
});

演示:http://project282540.tilda.ws/

虽然我不确定网站构建器,但它应该可以工作。

$(".t-submit").on({
    click: function() {
    $("input[type=text]").each(function() {
        console.log($(this).val())
    })
  }
})

要获得<input>的值,您需要使用.val()而不是.attr('value')

$('form').change(function() {
  alert('email input value: ' + 
      $(this).find('input[name=Email]').val());
  alert('name input value: ' + 
      $(this).find('input[name=Name]').val());
  alert('phone input value: ' + 
      $(this).find('input[name=Phone]').val());
});

.attr('value')表示HTML中定义的属性。由于 HTML 的输入标签中没有 value 属性值,.attr('value') 将始终 return 空字符串。

这是一个小实验:编辑http://project282540.tilda.ws/ 中的HTML 并将value 属性 放入其中一个输入标签。然后,当表单更改时,将提醒新添加的 value 属性。