Ho una tabella che contiene due caselle di testo (casella di testo 1, casella di testo 2). Entrambe le caselle di testo sono obbligatorie. Se non inserisco il valore nella casella di testo 1 e inserisci il valore textbox2, o viceversa, dovrei ricevere un messaggio di errore. Come possiamo ottenere questo con jQuery?Passa attraverso tutte le caselle di testo all'interno di una tabella e controlla il valore
risposta
Il modo più semplice che ho trovato per farlo è quello di aggiungere una classe alla casella di testo come "campo obbligatorio".
<input type="text" class="requiredField" />
È quindi possibile ottenere tutti i campi richiesti nella tabella utilizzando la funzione 'trova'.
textboxes = $('#tableid').find('.requiredField');
e poi iterare utilizzando il 'ogni' funzione
textboxes.each(function() {
if(this.value.length==0){
//do something here
}
}
con qualcosa come questo di solito di colore il bordo della casella di testo rosso, e aggiungere un avviso per informare l'utente che devono completare tutti i campi richiesti
Ecco il codice finale.
requiredFields = $('#tableid').find('.requiredField');
var allFieldsComplete = true;
requiredFields.each(function(index) {
if (this.value.length == 0) {
$(this).addClass('requiredIncomplete');
allFieldsComplete = false;
} else {
$(this).removeClass('requiredIncomplete');
}
});
if(!allFieldsComplete){
alert('Please complete all required fields');
}
return allFieldsComplete;
Dovrai anche specificare uno stile 'requiredIncomplete' nel tuo CSS. Ciò che questo farà è controllare tutte le caselle di testo nella tabella per vedere se contengono dati. Se una casella di testo non contiene dati, aggiunge la classe 'requiredIncomplete' (che contiene alcuni stili per distinguerla dalle altre caselle di testo), altrimenti rimuove la classe. Restituirà quindi true se tutti i campi contengono dati o false se uno di questi è privo di dati.
$("[id^=textboxid]").each(function(){
if ($(this).val().length > 0) {
// do something alert ...
}
}
);
questa corsa su tutto textbox che iniziano l'id con textboxid, come textboxid1, textboxid2 ...
Supponendo che in realtà hanno una forma, e vorresti questa convalida al verificarsi sulla presentazione della forma, prima di tutto, aggiungere il vostro messaggio di avviso:
<p class="warning">Both textboxes need to be filled</p>
Quindi, aggiungere il seguente Javascript
$('form').submit(function(){
var inputValid = true;
$('form textarea').each(function(){
if(!this.value){
$('.warning').show();
return false;
}
});
});
Ciò comporterà l'invio di tutti i moduli textearea
s, visualizzerà il messaggio di errore e annullerà l'invio del modulo se qualsiasi di textarea
s nel modulo non viene compilato.
? perché hai usato 'textarea' –
@Rakesh Perché quando la gente dice che la casella di testo è (di solito) riferita all'elemento di forma' textarea'? Perché me lo chiedi? La soluzione funzionerebbe anche con 'input', basta cambiare un po 'il selettore per quello. –
// create a custom jQuery expression filter, called :hasValue
jQuery.expr[':'].hasValue = function(elem, index, match) {
return jQuery(elem).val() !== '';
};
// textbox logic
if($('table textbox:hasValue').length !== 2) {
alert('error message');
}
Table Table1 = new Table(mainShell,SWT.BORDER);
Table1.setHeaderVisible(true);
Table1.setLinesVisible(true);
TableColumn tc1 = new TableColumn(Table1,SWT.NONE);
tc1.setText("Item");
tc1.setWidth(100);
TableColumn tc2 = new TableColumn(Table1,SWT.NONE);
tc2.setText("Value");
tc2.setWidth(120);
TableItem item1 = new TableItem(Table1,SWT.NONE);
item1.setText(0, "hahaha");
item1.setText(1, "haha");
Table1.setBounds(9, 174, 228, 128);
- 1. Come ripetere tutte le caselle di testo sulla pagina corrente
- 2. Applica UpdateSourceTrigger = PropertyChanged a tutte le caselle di testo wpf
- 3. Angolare2 Come ottenere tutte le caselle di controllo selezionate
- 4. Ottenere il valore selezionato di caselle di testo dinamiche e caselle combinate
- 5. Passa attraverso tutte le raccolte Mongo ed esegui la query
- 6. LINQ: trova tutte le caselle di controllo in una GridView
- 7. L'utilizzo dell'aggregazione selezionata in knockout con un elenco di caselle di controllo controlla tutte le caselle di controllo
- 8. Loop attraverso tutte le caselle di controllo che si trovano all'interno di un tag div
- 9. controlla tutte le caselle di controllo nel DataTable incluse le righe nascoste
- 10. Seleziona/deseleziona tutte le caselle di controllo
- 11. Jquery Iterate attraverso tutte le caselle selezionate e rimuove la classe
- 12. Passa valore casella di testo utilizzando Html.ActionLink
- 13. loop su tutte le caselle di testo in un modulo, comprese quelle all'interno di una groupbox
- 14. Come controllare tutte le caselle di testo in una pagina con jQuery?
- 15. caselle di testo nella tabella HTML: come dimensionare automaticamente?
- 16. gitignore attraverso tutte le filiali?
- 17. Come selezionare tutti i campi di testo e le caselle di testo usando jQuery?
- 18. Passa per nome e passa per le lingue valore-risultato
- 19. Iterate attraverso una tabella trovando un td per classe e cambiando il testo per quel td
- 20. seleziona tutte le caselle con JS angolare
- 21. La sintassi controlla tutte le stored procedure?
- 22. Visualizzazione valore vuoto o nullo nelle caselle di testo SSRS
- 23. Come ottenere tutte le caselle selezionate da una FormCollection
- 24. Objective- C: looping attraverso tutte le proprietà in una classe?
- 25. Passa il valore di un SELECT a una funzione Javascript tramite l'evento onchange?
- 26. Perl: passa attraverso un file e sostituisce
- 27. Selezionare tutte le caselle utilizzando jQuery
- 28. javascript seleziona tutte le checkboxes in una tabella
- 29. jQuery selezionare tutte le caselle di controllo figlio
- 30. CSS: passa il mouse su tutte le div child
e selettore id è più veloce di selettore di classe –