Forum Clubic

[JS] Récupérer le type d'un objet HTML

Hello tous,

<input type="text" onclick="fct(this);" … />
<select onclick="fct(this);" … />

function fct(caller) {

// comment récupérer ici la classer de caller ? Savoir si c’est un select, un input ou autre ?
}

merci

Tu la passes en second argument

C’est de l’introspection: Les classes en Javascript sont définies par leur 2 propritété spéciales:
.prototype : le prototype est read-write contient tous les attributs et les méthodes de la classe
.constructor : le constructeur défini une classe (comme le mot-clef “class” n’extiote pas en javascript)

donc là, on passe par le constructor:
[codebox]
<html><head><title>test</title></head>
<script language=“JavaScript” type=“text/JavaScript”><!–
function aaa( arg ){
if (arg.constructor == HTMLInputElement.constructor){
alert(‘a’);
}else{
alert(‘b’);
}
alert(erg);
}

–></script>
<body><form>

<input type="text" onclick="aaa(this.constructor)" name="toto" >

<select onclick="aaa(this)">
</select>
</form></body>
</html>
[/codebox]

merci deltree, juste ce qu’il me fallait :slight_smile: