javascript - 如何获取表单的id,只有提交的

标签 javascript jquery html forms

我的 html 中有 4 个表单,并且需要提交的表单 ID。但是每次不断地第一个表单的 id 出现在输出中。 我的 HTML 是:

<form name="form" id="filterHeadByFamNum" class="form-horizontal" role="form">
    <div class="form-group">
        <label>Family Number</label> <input type="text" name="familyNumber" placeholder="Family Number" class="form-control">
    </div>
    <button type="button" class="btn btn-primary" onclick="filterByFamNum();return false;">Submit</button>
</form>

<form name="form" id="filterHeadByMemName" class="form-horizontal" role="form">
    <div class="form-group">
        <label>Head Name</label> <input type="text" name="head" placeholder="Head Name" class="form-control">
    </div>
    <button type="button" class="btn btn-primary" id="head" onclick="filterByMemName();return false;">Submit</button>
</form>

<form name="form" id="filterMemberByPhone" class="form-horizontal" role="form">
    <div class="form-group">
        <label>Phone Number</label> <input type="text" name="phone" placeholder="Phone Number" class="form-control">
    </div>
    <button type="button" class="btn btn-primary" onclick="filterByPhone();return false;">Submit</button>
</form>

<form name="form" id="filterMemberByCNIC" class="form-horizontal" role="form">
    <div class="form-group">
        <label>CNIC</label> <input type="text" name="cnic" placeholder="CNIC" class="form-control">
    </div>
    <button type="button" class="btn btn-primary" onclick="filterByCNIC();return false;">Submit</button>
</form>

我的js是

function filterByFamNum(){
    var name = $(this.form).attr('id');
    console.log(name);
}

function filterByMemName(){
    var name = $(this.form).attr('id');
    console.log(name);
}

function filterByPhone(){
    var name = $(this.form).attr('id');
    console.log(name);
}

function filterByCNIC(){
    var name = $(this.form).attr('id');
    console.log(name);
}

每个表单提交的输出都是不断的 filterHeadByFamNum

最佳答案

与其向按钮添加事件监听器,不如监听 form 上的 submit 事件:

$('form').on('submit', function () {
    var id = this.id;
    console.log(id);
});

..或不使用 jQuery:

Array.prototype.forEach.call(document.querySelectorAll('form'), function (el) {
    el.addEventListener('submit', function () {
        var id = el.id;
        console.log(id);
    });
});

关于javascript - 如何获取表单的id,只有提交的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549101/

相关文章:

html - 如何固定图像右侧图标的位置

Javascript:从单个 HTML 页面播放多个音频文件

显示白色背景的 ASP 控件上的 Jquery 单选按钮

javascript - 按 ember.js objectController 中的属性排序

javascript - 同位素 JS 错误

javascript - 使用 jQuery 生成配置文件预览

javascript - 位置相对于固定——如何向下滑动?

javascript - 这 === 对浮点舍入不准确的 b/c 不起作用吗?

javascript - 在哪里可以找到 Meteor 模板事件列表?

javascript - jsplump动态绘制状态机图