在javascript

时间:2017-07-24 13:38:22

标签: javascript html

我想访问表单内表格中的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>

3 个答案:

答案 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'