我正在使用以下代码将事件附加到表单的提交按钮:
$('form.manage-users-form').on('click','button.special',function() {
if ($(this).hasClass('selected')){
console.log('This user is already special');
} else {
$(this).parent().find('button').removeClass('selected');
$(this).addClass('selected');
var user_id = $(this).closest("form[id]").val();
console.log('This user is now special');
console.log(user_id);
}
return false;
});
Run Code Online (Sandbox Code Playgroud)
你可以看到我也试图获取表单的id,但是当我检查控制台时我得到了(an empty string).为什么这样,我如何正确获取表单的ID?
dea*_*oni 31
你有没有尝试过?
var user_id = $(this).closest("form").attr('id');
Run Code Online (Sandbox Code Playgroud)
元素的id是一个属性,您可以使用.attr()提取任何属性(包括id).
.val()用于提取元素的值,这在表单中没有意义.
更多信息:
试试这个.假设页面上有一个单一表格.
var formid = $('form').attr('id');
Run Code Online (Sandbox Code Playgroud)
会帮助你.
.val()用于获取表单元素的值,而不是属性.
使用.attr():
var user_id = $(this).closest("form[id]").attr('id');
Run Code Online (Sandbox Code Playgroud)
您还可以提取 DOMElement并使用纯JavaScript来获取ID:
var user_id = $(this).closest("form[id]")[0].id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49802 次 |
| 最近记录: |