通过名称或ID找到表单元素后如何确定其类型

4

可能是一个愚蠢的问题,但在JavaScript中,是否有一种方法可以在通过名称或ID找到表单元素后,从表单元素中找出其类型(文本,复选框等)?最好使用纯旧JavaScript或jQuery样式语法或方法。

示例:

<input type="text" name="my_text_input" id="my_text_input"/>
<script>var element = document.getElementById('my_text_input'); // now how to get the element type?</script>

我不想寻找替代方案,这正是我想要做的。我正在制作一种屏幕爬虫程序,需要收集这些信息。

4个回答

6
type属性将为您提供以下信息...
document.getElementById('my_text_input').type;

然而,你还将问题标记为jQuery,因此可以使用...
$('#my_text_input').attr('type');

jsFiddle.


谢谢。我已经解决了,但是当网站允许我标记您的答案为正确时(根据我尝试将您的答案标记为正确时得到的消息,需要11分钟),我会将您标记为正确答案。 - user187702

0

试试这个:

<!DOCTYPE html>
<html>
<body>

<script language="JavaScript" type="text/javascript"> 

function submit_form()
{
    var len = document.form1.elements.length;

    for(var i = 0 ; i< len;i++){
        if(document.form1.elements[i].type == "text")
            alert(document.form1.elements[i].value);
    }
}

</script>
<form  name="form1" onsubmit="submit_form();">
First name: <input type="text" name="FirstName" value="Mickey"><br>
First name: <input type="textarea" name="FirstName" value="Mickey"><br>
Second name: <input type="text" name="SecondName" value="Mickey"><br>
Last name: <input type="text" name="LastName" value="Mouse"><br>
<input type="submit" value="Submit">
</form>


</body>
</html>

0
$('#form_id input').each(function() {
console.log($(this).attr('type'));
});

0
$('#my_text_input').attr('type');

同样地,您可以获取任何属性......类,标题或任何属性

$('#my_text_input').attr('class'); //检索类名


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接