Submit is not a function
Può capitare che non si riesca ad effettuare il submit di un form ed avere un errore del tipo submit is not a function
.
Esempio:
<form id="f">
<input type="text" id="address" name="address"/>
<input type="submit" onclick="f()" value="submit your address"/>
</form>
Da notare che l'id del form e la funzione per il submit hanno lo stesso nome. In questi casi il browser non effettua il submit e ritorna l'errore descritto sopra; nel nostro caso: f is not a funciton
In rete trovate "soluzioni" in cui affermano che sarebbe sufficiente non chiamare la funzione con un banale "submit", ma in realtà il problema si presenta ogni volta che, come nell'esempio, form id e funzione siano uguali.
La soluzione quindi è semplice: è sufficiente che non abbiano lo stesso nome, ma perché accade?
L'ipotesi più plausibile è che i form, non essendo elementi di visualizzazione, vengano mappati attraverso il loro id come variabili globali nel motore javascript al pari delle funzioni. Al momento dell'invocazione il motore restituisce quindi non la funzione, ma l'oggetto DOM corrispondente al form lanciando, appunto, l'errore is not a function
proprio perché non lo è.
- Login per inviare commenti
Commenti recenti
10 anni 30 settimane fa
11 anni 35 settimane fa
12 anni 51 settimane fa
12 anni 52 settimane fa
13 anni 41 settimane fa
13 anni 42 settimane fa
14 anni 4 giorni fa
14 anni 4 settimane fa
14 anni 7 settimane fa
14 anni 12 settimane fa