Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Elementi Required non Completati

    Sono rimasto intrappolato in questo piccolo labirinto..
    Ho degli elementi required che sono 'invisibili' finchè non si clicca sul prodotto, ovviamente andando a cliccare sul submit non va avanti se il required non è stato completato, ma neanche appare il messaggio in quanto il componente è invisibile..!
    Domanda: Come faccio a far apparire un messaggio all'utente se ci sono degli elementi da completare..?
    L'unica soluzione che sarebbe venuta a me è che quando cliccano sul submit, parta uno script che selezioni tutti i select che iniziano con colore e taglia, quindi ad esempio colore336, colore123, etc. e che per ognuno controlli se è stata selezionata un'opzione..
    Voi cosa ne pensate? Come risolvereste al posto mio?

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    se sono nascosti l'utente come li riempie?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    se sono nascosti l'utente come li riempie?
    Cliccando sulla riga del prodotto appare il modal (Bootstrap) con le opzioni del prodotto

  4. #4
    Non usare l'attributo required, tra l'altro non funziona affatto sui dispositivi Apple, usa una validazione con js.

  5. #5
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Non usare l'attributo required, tra l'altro non funziona affatto sui dispositivi Apple, usa una validazione con js.
    Quindi l'unica soluzione è quella di controllare tramite jQuery/Javascript se tutti i select hanno un'option selezionata?
    In tal caso, che funzione di jQuery potrei utilizzare per trovare tutti i select e controllare che siano selezionati?
    La funzione .each?

  6. #6
    Fatto.. Al click sul bottone di submit, parte questo script.. :-)
    codice:
    	function controllaSelect(){		var erroreColori = [];
    		$("select[name^='colore']").each(function() {
    			var optionSelected = $(this).val();
    			if(optionSelected == ''){
    				var idProdotto = $(this).attr('name');
    				idProdotto = idProdotto.replace('colore', '');
    				erroreColori.push(idProdotto);
    			}
    		});
    		for (i = 0;i < erroreColori.length;++i) {
    			var nomeProdotto = erroreColori[i];
    			nomeProdotto = $("#nome"+nomeProdotto).text();
    			alert("Selezionare il colore sul prodotto '"+nomeProdotto+"'");
    		}
    
    
    		var erroreTaglie = [];
    		$("select[name^='taglia']").each(function() {
    			var optionSelected = $(this).val();
    			if(optionSelected == ''){
    				var idProdotto = $(this).attr('name');
    				idProdotto = idProdotto.replace('taglia', '');
    				erroreTaglie.push(idProdotto);
    			}
    		});
    		for (i = 0;i < erroreTaglie.length;++i) {
    			var nomeProdotto = erroreTaglie[i];
    			nomeProdotto = $("#nome"+nomeProdotto).text();
    			alert("Selezionare la taglia sul prodotto '"+nomeProdotto+"'");
    		}
    	}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.