有一个站点构建器,无法通过DOM获取表单输入。该怎么办? :)
此代码不返回任何内容:
$('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'));
});
答案 0 :(得分:0)
虽然我不确定网站构建器,但这应该可行。
$(".t-submit").on({
click: function() {
$("input[type=text]").each(function() {
console.log($(this).val())
})
}
})
答案 1 :(得分:0)
要获得<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')
将始终返回空字符串。
以下是一个小型实验:在http://project282540.tilda.ws/中编辑HTML并将value
属性添加到其中一个输入标记中。然后,当表单更改时,将提醒新添加的value
属性。