在javascript中查找表单ID

Nov*_*ice 1 javascript

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

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

为了简单点击一个超链接调用一个方法,我将得到超链接所属的表单的ID.

BGe*_*sen 6

如果您不使用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>
Run Code Online (Sandbox Code Playgroud)

如果你使用jQuery:

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