2012-06-18 13 views
6

Ho bisogno di tagliare tutti gli spazi bianchi finali dagli elementi di testo del modulo. Ho bisogno di farlo in un numero minimo di passaggi. Non appena premo su invio, dovrebbe tagliare tutti gli spazi bianchi e quindi eseguire le ulteriori operazioni. C'è qualche script disponibile? Altrimenti, per favore, aiutami a raggiungere il mio obiettivo. Attualmente ho bisogno di identificare manualmente ogni elemento e quindi eseguire un assetto come.È necessario tagliare tutti gli elementi nel modulo utilizzando javascript

var username = myform.elements['username'].value; 
username.trim(); 

Come generalizzare?

risposta

4
$("form").children().each(function(){ 
this.value=$(this).val().trim(); 
}) 

taglierà tutte casella di testo e textarea all'interno del tag forma, ma non scrivere codice non necessario all'interno modulo.

+0

Impressionante ... Basta una riga :) –

+1

Ci scusiamo per fare è di due linee –

12
$('input').val(function(_, value) { 
    return $.trim(value); 
}); 
+1

Questa dovrebbe essere la risposta accettata. – backdesk

2

Usa

var allInputs = $(":input"); 

per ottenere tutti gli elementi del modulo. Iterato usando ciascuna funzione e tagliarlo.

Sarà qualcosa di simile (non testato)

var allInputs = $(":input"); 
allInputs.each(function() { 
     $(this).val($.trim($(this).val())); 
    }); 
2
$('#yourformid').submit(function(){ 
$(':input').each(function(){ 
    $(this).val($.trim($(this).val())) 
}) 
    return true; 
}); 
+1

$ (this) .val ($. Trim ($ (this) .val())) mi sembra eccessivo. Hai già un riferimento al valore usando this.value. – backdesk

Problemi correlati