如何获取表单内所有输入的ID?

Posted

技术标签:

【中文标题】如何获取表单内所有输入的ID?【英文标题】:How to Get id's of all inputs inside the form? 【发布时间】:2011-02-28 05:07:25 【问题描述】:

如何获取数组中表单内所有输入元素的id?

【问题讨论】:

+1 好问题。对于那些投反对票的人:当你刚加入 SO 时,你是否受到了同样的热烈欢迎? 为什么这个问题被否决了? 投反对票的一个可能原因是标题太长而问题太短。当它们相同时,通常是这种情况。 你可能想解释一下你想用这些 id 做什么,因为通常当你想要一个 id 数组时,实际上最好有一个实际元素的数组 【参考方案1】:

有点意思...

<script src="../../Scripts/jquery-1.4.2.min.js"></script>

<script type="text/javascript">

    $(document).ready(function ()
    
         // Get all the inputs into an array...
         var $inputs = $('#myForm :input');

         // An array of just the ids...
         var ids = ;

         $inputs.each(function (index)
         
             // For debugging purposes...
             alert(index + ': ' + $(this).attr('id'));

             ids[$(this).attr('name')] = $(this).attr('id');
         );
    );


</script>

【讨论】:

【参考方案2】:
$ids = $('#myform input[id]').map(function() 
  return this.id;
).get();

【讨论】:

+1 - map() 是要走的路,虽然如果有 input 元素没有 ID(可能是提交),你最终会得到一个空条目在数组中。您可能希望将选择器更改为:$('#test input[id]'),或者至少提供如下测试:if(this.id) return this.id;【参考方案3】:

您可以使用更精确的选择器来缩小搜索范围:表单输入用于具有 id 的属性选择器

$(document).ready(function() 
    $('form input[id]').each(function() 
        formId.push(J(this).attr('id'));
);
);

【讨论】:

以上是关于如何获取表单内所有输入的ID?的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中获取联系表 7 表单 ID

javascript 如何获取表单中所有文本框

如何在不完整的 Django 表单字段中获取用户输入?

如何使用 HtmlAgilityPack 获取表单中的所有输入元素而不会出现空引用错误

jquery如何获取form表单(id='form1')下的所有lable控件?

如何在下拉列表中获取除隐藏和提交按钮之外的所有表单字段