Ich bin auf ein Problem gestoßen, das ich ziemlich merkwürdig finde, obwohl ich noch Javascript lerne. Ich möchte einige Berechnungen nur durchführen, wenn ein Wert für einen Zustand gesetzt ist, wenn der Zustand nicht gesetzt ist, dann möchte ich das Formularfeld fokussieren.HTMLElement focus() Methode Uncaught TypeError
Nun ist die Frage, dass der Code unten nicht
document.getElementById('cart-hplus').addEventListener('submit', estimateTotal);
function estimateTotal(event) {
event.preventDefault();
var state = document.getElementById('s-state').value;
if (state === '') {
alert("Please choose your preferred shipping state.");
state.focus();
}
}
Uncaught TypeError: state.focus is not a function
funktioniert, aber das funktioniert, aber ich glaube nicht, dass eine Variable deklariert dann gute Gewohnheit ist wieder das Dokument-Objekt in meinem wenn Anweisung
function estimateTotal(event) {
event.preventDefault();
var state = document.getElementById('s-state').value;
if (state === '') {
alert("Please choose your preferred shipping state.");
document.getElementById('s-state').focus();
}
}
Was ist falsch mit dem ersten Code?
'state' ist String, wie Sie auf dem Element' .value' zu bekommen. Entfernen Sie '.value' und verwenden Sie' state.value' in der 'if'-Bedingung. – Tushar
Speichern Sie die Referenz des Elements in einer Variablen 'var state = document.getElementById ('s-state');' verwenden Sie dann 'state.value' und' state.focus() ' – Satpal
Danke Leute, ich sehe, wo der Fehler kam von. Ich verstehe es jetzt besser. @Satpal schöne Erklärung. – Mena