2013-06-18 28 views
7

Desidero disabilitare la scrittura in un campo di tipo numero, per evitare i dati delle stringhe e scrivere solo numeri, quindi come abilitare le barre di scorrimento solo?Disabilita scrittura nel tipo di input HTML5

<form> 
<input type="number" path="note" min="1" max="20"/> 
</form> 
+0

due sono la stessa cosa, penso che quello che voglio fare è chiaro, l'inserimento del numero Tipo consenti solo dati numerici quindi abilita solo le barre di scorrimento – Somar

+0

Non puoi semplicemente usare l'attributo 'readonly'? È supportato per il numero di tipo –

+0

@Souad 'disabilita la scrittura nel tipo di input numero HTML5' è necessario modificare l'intestazione della domanda che è fuorviante. – NetStarter

risposta

19

Se è possibile/consentito utilizzare jQuery, è possibile disabilitare keypress su type='number'.

$("[type='number']").keypress(function (evt) { 
    evt.preventDefault(); 
}); 

Ciò consente di utilizzare le frecce su e giù sull'ingresso, ma non consente l'input da tastiera.

+0

SI !! Questo è quello che sto cercando. Grazie – Somar

+0

Forse qualcosa è cambiato dal '13, ora la pressione di tasto non funzionerà per le chiavi Cancella e Backspace, questo sarà tutto per cancellare il valore, ho usato il keydown che copre tutto –

-1

In primo luogo, il tuo markup non è corretto. I tag form devono circondare il tag input:

<form name="my_form"> 
    <input ...code... 
    <input ...code... 
</form> 

In secondo luogo, se si sta utilizzando HTML5 e si desidera immettere un numero, è possibile utilizzare questo:

<input type="number" name="my_number" min="0" max="100" step="1" value="50"/> 

(da W3Schools)

essere consapevole che le attuali implementazioni del browser sull'input "numero" variano.

È quindi possibile fare riferimento al valore utilizzando Javascript o farlo pubblicare utilizzando il modulo.

+0

... come per il bit sulle "barre di scorrimento", non sono sicuro di cosa intendi! – TheTurkey

+0

modulo: input è un tag di primavera è corretto. grazie per la risposta – Somar

+0

Solo un commento .. Non fidatevi mai di W3Schools ... http://w3fools.com/ –

0

No Scorrimento, nessun incremento di numeri, lunghezza massima fornita, nessuna copia incolla.

Controlla il violino di seguito, che ha le caratteristiche necessarie all'interno di un campo modulo di tipo numero.

HTML

<form class="form-horizontal home" role="form" action="" method="post" id="payment-form" novalidate="novalidate"> 
<label for="number">Mobile number : </label> 
<input class="form-control" id="number" name="number" type="number" data-rule-required="true" aria-required="true" oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" onKeyDown="if(this.value.length==10 && event.keyCode!=8) return false;"> 
</form> 

CSS

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
} 

DEMO - JSFIDDLE

Problemi correlati