Ich versuche, eine Funktion aufzurufen, die ich innerhalb eines Objektblocks definiert habe, aber nur, wenn ein Feldwert ausgewählt wird.Javascript "Uncaught TypeError: Objekt ist keine Funktion"
var student = {
role: function() {
var studRole = document.getElementById("student");
var roleStud = studRole.options[studRole.selectedIndex].value;
switch (roleStud) {
case 'Admin':
alert("Welcome Admin");
break;
default:
}
}
}
<form>
<select id="countries" onchange="test()">
<option value="France">France</option>
<option value="Nigeria">Nigeria</option>
</select>
<br/>Student Role:
<select id="student" onchange="student.role()">
<option value="user">User</option>
<option value="Admin">Admin</option>
</select>
</form>
In welcher Zeile tritt dieser Fehler auf? Wenn Sie Ihren Code im Debugger verfolgen, welchen Wert hat 'studRole'? –
Wäre höchstwahrscheinlich ein Problem mit dem Umfang des Schülerobjekts, wo haben Sie das definiert? –
Sie haben widersprüchliche IDs mit dem HTML-Element namens 'student' und dem Objekt namens' student'. Beachten Sie, dass HTML-IDs auf das globale Objekt angewendet werden. –