我有一组表单中的单选按钮以及此表中的其他输入,并且我无法通过id或名称或标记名称获取单选按钮,如果可能,我想按类型获取它们,因为id而名称是由JSF自动生成的,我不想改变它。如何获取表格中的所有单选按钮?
所以要求是:让所有的单选按钮(不是所有的输入)在表内,所以我可以循环他们。
我有一组表单中的单选按钮以及此表中的其他输入,并且我无法通过id或名称或标记名称获取单选按钮,如果可能,我想按类型获取它们,因为id而名称是由JSF自动生成的,我不想改变它。如何获取表格中的所有单选按钮?
所以要求是:让所有的单选按钮(不是所有的输入)在表内,所以我可以循环他们。
我希望只有一组单选按钮。在这种情况下,这样的事情可以帮助:
var inputs = yourForm.elements;
var radioes = [];
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type == 'radio') {
radioes.push(input[i]);
}
}
如果有不止一组单选按钮,更好的方法是具有与name
为键和值作为无线电阵列字典来组中的按钮。
如何将所有这些单选按钮放在一个数组中。 –
内嵌回答:)。严肃地说,请考虑使用jQuery。 – SuperSaiyan
鉴于你的表单名称是yourForm
...(<form name = "yourForm">
)......一个简单的方法就是分析所有的表单元素和检查的类型,像这样:
var your_namespace = {};
your_namespace.your_function = function() {
var l = document.yourForm.elements.length;
for (i=0; i<l; i++) {
var type = yourForm.elements[i].type;
if (type=="radio") alert("Form element " + i + " is a radio!");
}
}
而是提醒您的canc可以用element id做很多其他的事情。
当使用像MooTools或JQuery这样的框架时,您可以更轻松地使用这种方法。
我知道这个问题没有提到jQuery,但我只是想演示它的简单性;请考虑这更多的卖点“嘿,看看jQuery是多么好”。
// look how pretty I am
var radioButtons = $('table#MyTableId input[type="radio"]');
'document.getElementsByTagName('input')'。检查每个元素的类型。 – SuperSaiyan