2009-09-01 13 views

risposta

56

No. Questo deve essere fatto nel codice HTML. È possibile impostare il valore con Javascript se è necessario.

4

Non con CSS, no.

108

No.

maxlength è per il comportamento.

CSS è per lo styling.

Ecco perché.

+0

Inoltre, i CSS possono essere applicati globaly a qualsiasi tag, quindi non avrebbe senso avere una proprietà di lunghezza massima applicata a un div o img ecc. –

+3

Ma se si volesse applicare una proprietà di lunghezza massima a un insieme comune di tipi di input (es. nome, città, stato) e puoi avere più istanze di tali input in vari luoghi attraverso il sito web. Sarebbe bello essere in grado di definire una classe (ad es.'FirstName') e applicano tale classe a tutti gli input del nome Catchops

6

Non credo che si possa, e CSS si suppone descriva come la pagina non sembra quello che fa, quindi anche se poteste, non è proprio come dovreste usarlo.

Forse dovresti pensare all'utilizzo di JQuery per applicare funzionalità comuni ai componenti del modulo?

3

Non con CSS, ma è possibile emulare ed estendere/personalizzare il comportamento desiderato con JavaScript.

0

Usa $("input").attr("maxlength", 4) se si sta utilizzando la versione jQuery < 1.6 e $("input").prop("maxLength", 4) se si utilizza jQuery versione 1.6 +.

2

Come altri hanno risposto, non esiste un modo corrente per aggiungere maxlength direttamente a una classe CSS.

Tuttavia, questa soluzione creativa può ottenere ciò che stai cercando.

Ho la jQuery in un file chiamato maxLengths.js che ho di riferimento nel sito (Site.master per ASP)

eseguire il frammento di vederlo in azione, funziona bene.

jquery, css, html:

$(function() { 
 
    $(".maxLenAddress1").keypress(function (event) { 
 

 
     if ($(this).val().length == 5) { /* obv 5 is too small for an address field, just want to use as an example though */ 
 
      return false; 
 
     } else { 
 
      return true; 
 
     } 
 

 
    }); 
 
});
.maxLenAddress1{} /* this is here mostly for intellisense usage, but can be altered if you like */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 
<input type="text" class="maxLenAddress1" />

Il vantaggio di utilizzare questo: se si decide la lunghezza massima per questo tipo di campo ha bisogno di essere spinto fuori o in tutta la vostra tutta l'applicazione è possibile modificarlo in un unico punto. È utile per lunghezze di campo per articoli come codici cliente, campi nome completo, campi di posta elettronica, qualsiasi campo comune nell'applicazione.

+1

Questo codice è molto facile da copiare e incollare per più tipi di campo. Conservo un file jQuery separato chiamato "maxLengths.js" e includo quello nel mio sito master. Provalo, è molto conveniente! –

+0

Solo perché si utilizza una classe HTML non è CSS. – nyuszika7h

+0

@ nyuszika7h grazie per l'input molto apprezzato sulla mia risposta. direi che mentre non sto applicando alcuno stile all'elemento, sto ancora usando un foglio di stile a cascata nella mia soluzione, quindi il CSS viene utilizzato. inoltre ho aggiornato la mia risposta per riflettere la tua osservazione. –

Problemi correlati