Sto provando a verificare se un input di modulo ha un valore (non importa quale sia il valore) in modo che possa aggiungere il valore all'URL di azione su submit se lo fa esistere. Devo aggiungere il nome del parametro prima di aggiungere il valore, e lasciare un nome param vuoto come "P =" senza alcun valore rovina la pagina.Come verificare se l'input del modulo ha valore
Ecco il mio codice:
function getParam() {
// reset url in case there were any previous params inputted
document.form.action = 'http://www.domain.com'
if (document.getElementById('p').value == 1) {
document.form.action += 'P=' + document.getElementById('p').value;
}
if (document.getElementbyId('q').value == 1) {
document.form.action += 'Q=' + document.getElementById('q').value;
}
}
e la forma:
<form name="form" id="form" method="post" action="">
<input type="text" id="p" value="">
<input type="text" id="q" value="">
<input type="submit" value="Update" onClick="getParam();">
</form>
ho pensato che il valore di impostazione == 1 farebbe un semplice esiste, non esiste controllo indipendentemente da ciò che il valore inviato era, ma credo di essermi sbagliato.
Inoltre, sto usando le istruzioni if, ma credo che sia un codice errato, poiché non ho un altro. Forse, usando un'istruzione switch, anche se non sono sicuro di come configurarlo. Forse:
switch(value) {
case document.getElementById('p').value == 1 :
document.form.action += 'P=' + document.getElementById('p').value; :
case document.getElementById('q').value == 1 :
document.form.action += 'Q=' + document.getElementById('q').value; break;
}
Non sarà presentando nulla se i vostri campi di input non hanno nomi. – kennebec
true, ma in questo caso il modulo è solo lì per aggiornare l'url e dal momento che sto afferrando i valori di tali input per id, non è davvero necessario. – Choy
Ti rendi conto che puoi cambiare il tuo metodo in 'GET', e i valori saranno aggiunti alla querystring? Dovresti essere in grado di gestire i valori vuoti lato server senza problemi; cosa intendi * incasina la pagina *? – RedFilter