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 23 settimane fa
11 anni 28 settimane fa
12 anni 44 settimane fa
12 anni 45 settimane fa
13 anni 34 settimane fa
13 anni 35 settimane fa
13 anni 45 settimane fa
13 anni 49 settimane fa
14 anni 4 giorni fa
14 anni 5 settimane fa