Domanda

Sulla mia FORM, per qualche motivo, posso avere il mio variabile di ingresso modulo tramite onsubmit ma non utilizzando action.

Questo funziona:

<form onsubmit="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

Questo non funziona (this.city.value si trova ad essere null)

<form action="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

Perché è che onsubmit può ottenere il this.city.value ma l'evento non può action?

È stato utile?

Soluzione

Il tag form action non fa riferimento a nulla con this

Invece, utilizzare un percorso assoluto

action="javascript:myFnc(document.getElementById('city-field').value)"

Altri suggerimenti

Modifica : Grazie al commento di Christoph, qui di seguito, ho realizzato il mio enorme svista. Ecco la soluzione finale con il suo suggerimento implementato.

<form action="" onsubmit="myFunc(this.city.value); return false;">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

Questo dovrebbe fare quello che ti serve. Mi scuso per non aver dato la mia piena attenzione a mie risposte precedenti.

forme

HTML vengono utilizzati per la presentazione dei dati di nuovo a uno script sul server per l'elaborazione dei dati. Quando viene inviato un modulo, i dati nei campi del modulo viene passato al server sotto forma di coppie nome-valore. script lato server, che possono essere scritti in diverse lingue, sono utilizzati per elaborare i dati in entrata e restituire una nuova pagina HTML al browser. La pagina restituita al browser potrebbe essere qualsiasi cosa, da un messaggio "Grazie per esserti registrato" o un elenco di risultati di ricerca generati da una query di database.

dal momento che la forma è per l'invio di dati in un altro file sul server. in azione siamo in grado di specificare solo il percorso in cui abbiamo bisogno di inviare i dati. quindi non c'è non si può ottenere i valori che la forma sta avendo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top