2013-03-01 10 views
14

Desidero modificare tutti i valori del modulo in maiuscolo prima che il modulo venga inviato.Come posso modificare tutti i valori di input in maiuscolo usando Jquery?

Finora ho questo ma non funziona.

$('#id-submit').click(function() { 
     var allInputs = $(":input"); 
     $(allInputs).value.toUpperCase(); 
     alert(allInputs); 
}); 
+1

'allInputs.val() toUpperCase()' – PlantTheIdea

+0

[Informazioni sui '.VAL()'] (http: // api. jquery.com/val/) – epascarello

+0

@LifeInTheGrey val() ottiene solo il valore dell'elemento pugno – Christophe

risposta

34

Prova come qui di seguito,

$('input[type=text]').val (function() { 
    return this.value.toUpperCase(); 
}) 

si dovrebbe usare input[type=text] invece di :input o input come credo la vostra intenzione devono operare solo sulla casella di testo.

+0

$ (allInputs) dovrebbe effettivamente essere $ (": input"), non è necessario raddoppiare $ – Christophe

16

usare i CSS:

input.upper { text-transform: uppercase; } 

probabilmente meglio utilizzare lo stile, e convertire serverside. C'è anche un plugin jQuery per forzare maiuscolo: http://plugins.jquery.com/plugin-tags/uppercase

+11

NOTA: questo mostrerà solo il testo in maiuscolo, non converte i valori da salvare in quel modo. – PlantTheIdea

+0

Il commento sopra è corretto, l'ho provato prima. –

+0

@GustavoReyes come dice questa risposta, è comunque necessario eseguire la conversione sul server. Non puoi essere certo che il codice lato client verrà eseguito. – Pointy

3

È possibile utilizzare each()

$('#id-submit').click(function() { 
     $(":input").each(function(){ 
      this.value = this.value.toUpperCase();   
     }); 
}); 
+0

Funziona come un fascino. –

+2

* "Funziona come un incantesimo" * finché non incontra un elemento selezionato. –

5
$('#id-submit').click(function() { 
    $("input").val(function(i,val) { 
     return val.toUpperCase(); 
    }); 
}); 

FIDDLE

1

usare i CSS text-transform per visualizzare il testo in tutto il testo tipo di ingresso. In Jquery è quindi possibile trasformare il valore in maiuscolo sull'evento di sfocatura.

Css:

input[type=text] { 
    text-transform: uppercase; 
} 

Jquery:.

$(document).on('blur', "input[type=text]", function() { 
    $(this).val(function (_, val) { 
     return val.toUpperCase(); 
    }); 
}); 
Problemi correlati