首先,我是javascript的初学者,一个非常大的初学者
有人可以给我一个暗示吗?
我有form
,表格上有radio
按钮。
我想如果收音机设置为是,它会在另一页上显示它的值。
我想通过输入名称获取值
有可能吗?
我不是要求编写我的代码,而只是一个开始的例子。
我试过这只是为了测试
<input type="hidden" name="the_name" value="yes">
if(the_name.element == 'yes') {
alert('cool');
}
答案 0 :(得分:3)
the_name.value
,而不是the_name.element
答案 1 :(得分:1)
您可以使用getElementsByName()
通过输入名称访问元素值。但作为标准,由于它有助于加载DOM,我们使用getElementById()
而不是名称。你也可以从这里开始 - &gt; http://eloquentjavascript.net/
答案 2 :(得分:1)
您可以使用以下方式引用表单:
document.forms[formName or formId].elements[element-name];
但是,名称在文档中不一定是唯一的。如果只有一个名称的元素,则只返回一个元素。如果不止一个具有相同的名称,那么您将获得一个集合(有点像数组),您将不得不迭代它们以找到您想要的那个。
您还可以使用document.getElementsByName,它始终返回一个集合。所以你可以这样做:
var elements = document.getElementsByName('the_name');
// get the one with value 'yes'
for (var i=0, iLen=elements.length; i<iLen; i++) {
if (elements[i].value == 'yes') {
return elements[i];
}
}
您还需要注意区分大小写,您可能希望首先对值使用 toLowerCase(),或者使用不区分大小写的正则表达式:
e.g。
var re = /yes/i;
...
if (re.test(elements[i].value)) {
// value is Yes or YES or yeS or ...
答案 3 :(得分:0)
<input type="hidden" name="the_name" id="the_name" value="yes"> <!-- id added -->
if(formName.the_name.value == 'yes')
{
alert('cool');
}
或更好(因为您没有按全局名称访问元素)
var element = document.getElementById("the_name");
if(element.value === 'yes')
{
alert("yes, it is");
}