我想访问表单内表格中的html输入标记,如下所示。我已经使用下面的函数来访问元素,但我在输出中未定义:
function checkForm()
{
var table=document.getElementById('register').getElementsByTagName('myTab');
document.writeln(table);
}
上面的函数返回undefined。为什么以及如何修复它以返回我需要的输入?
<!DOCTYPE HTML>
<HEAD>
<META CHARSET = "utf-8">
<TITLE>Register</TITLE>
<link rel="stylesheet" type="text/css" href="reglog.css">
</HEAD>
<BODY>
<h1 align=center>Register with our portal</h1>
<FORM id="register" onsubmit="return checkForm();" METHOD="POST">
<table name="myTab" border = 0 align=center>
<tr >
<td> Username </td>
<td> </td>
<td><input name="username" class=textbox type = text required></td>
</tr>
<tr >
<td> Password </td>
<td> </td>
<td><input name="passwd" class=textbox type = password required></td>
</tr>
<tr >
<td> Confirm Password </td>
<td> </td>
<td><input name="c_password" class=textbox type = password required></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> <input class=button type = submit value = Register> </td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
答案 0 :(得分:1)
Javascript的cookie函数,正如其名称所示,使用html标记名称(div,table,form等)。在你的情况下将是getElementsByTagName('table')。相反,您可以使用getElementsByTagName
答案 1 :(得分:1)
要从ID为table
的元素中获取包含属性myTab
的{{1}}元素,您可以将querySelectorAll()
方法链接到getElementById()
:
register
table = document.getElementById('register').querySelectorAll('table[name=myTab]')[0];
console.log(table)
请注意getElementsByTagName()
从名称中获取元素,而不是从名称属性中获取。
答案 2 :(得分:0)
有多种方法可以访问表单元素。在您的代码中,您可以使用
访问表单元素var x = document.getElementById("register").elements;
这将为您提供表单中的所有元素。但是,如果您想访问第一个元素,可以使用类似下面的代码
document.getElementById("register").elements[0].value // 0 is the index as per all the elements present in your form 'register'