我有一个主页(Home.aspx),从菜单中选择一个链接后,我向服务器发送了一个异步请求,并在jquery选项卡中加载了响应(另一个aspx页面)。

现在,我在页面内有不同的超链接,单击时,我在外部js文件中调用方法。如何获得单击的超链接的表单ID。

简单地说,单击超链接会调用方法,我将获得超链接所属的表单的ID。

最佳答案

如果您不使用javascript工具包/框架,也不在乎学习良好做法,而只是想完成工作。

<!-- inside a form somewhere -->
<a href="url" onclick="javascript:doStuff(this);">link text</a>

<!-- somewhere else in your page, where you put javascript -->
<script>
    function doStuff(node) {
        var ancestor = node.parentNode;
        var formID;
        while( ancestor && ancestor !== document ) {
            if ( /^form$/i.test( ancestor.nodeName ) ) {
                formID = ancestor.id;
                break;
            }
            ancestor = node.parentNode;
        }
        if ( formID ) {
            // do stuff with formID
        }
    }
</script>


如果您使用jQuery:

$("form a").click(function(e){
    var formID = $(this).closest("form").attr("id");
    if( formID ) {
        // do stuff with formID
    }
});

关于javascript - 在JavaScript中查找表单ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4274704/

10-11 20:36