consiglio uso jquery php per mostrare parte di un form

Discussione in 'PHP' iniziata da alessiof86, 25 Giugno 2014.

  1. alessiof86

    alessiof86 Utente Attivo

    Registrato:
    6 Luglio 2009
    Messaggi:
    134
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    buongiorno a tutti, non sono molto ferrato in jquery e mi trovo ad affrontare la seguente situazione. In un db ho memorizzato il nome dei vari utenti ad ogni utente è associato il campo autoconsumo che può assumere i valori SI - NO.
    Ora avrei pensato ad un form che tramite una select mi fa scegliere il nome dell utente (tramite php) va tutto bene finche devo affrontar eil seguente passo: mostrare gli elementi del form successivi che sono differenti a secondo del valore autoconsumo si - no.
    Accetto consigli di tutti i tipi.

    Grazie in anticipo
     
  2. ncastelletti

    ncastelletti Nuovo Utente

    Registrato:
    23 Giugno 2014
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Provo a fare qualcosa anche se mi servirebbe del codice per vedere..

    Allora nel form html dai a si il valore 0 e a no il valore 1

    HTML:
    <h1> Autoconsumo </h1>
    <label for="si"><b>Sì</b></label>
    <input type="radio" name="tipo" value="0">
    <label for="no"><b>No</b></label>
              <input type="radio" name="tipo" value="1">
    poi nel php farai la select: " SELECT * FROM nometabella WHERE $tipo=0 ";

    così poi ti prende tutti gli utenti che hanno detto si all'autoconsumo.
    Poi ingegnati un po' a fare stampare quello che vuoi.
     
  3. alessiof86

    alessiof86 Utente Attivo

    Registrato:
    6 Luglio 2009
    Messaggi:
    134
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Alla fine leggendo a destra e sinistra credo di dovermi appoggiare a jquery e php. Ho il seguente codice


    HTML:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>......</title>
    
    <!-- add styles -->
    <link href="css/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" type="text/css" />
    
    <!-- add scripts -->
    <script src="js/jquery-1.10.2.js"></script>
    <script src="js/jquery-ui-1.10.4.custom.min.js"></script>
    <script src="js/jquery-ui-i18n.js"></script>
     <script type="text/javascript">
    $(document).ready(function() {
    	$("#stoc").hide(); 
    	$("#conf").hide();
    	$('#id_stoc').change(function(){
    	if ($(this).is(':checked')) {
    			$("#stoc").show();
    	} 
    	else {$("#stoc").hide();}
    	});
        
    	$('#id_confez').change(function(){
    	if ($(this).is(':checked')) {
    	$("#conf").show();
    	}
    	else {
    	$("#conf").hide();
    	}
    	}); 
    });
    //FINE DOM
     
    
    </script>
    </head>
    
    <body>
    
    <form action="registra.php" method="post" name="melari">
    <p>
    Scegli Mittente
    <select name="mitt">
    	<option value="" selected="selected" >Seleziona... </option>
    <?php 
    	include("connessione_db.php");
     	$sql = "SELECT * FROM mittente";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result))
    {
    echo "<OPTION VALUE=\"".$row["id_mitt"]."\">".$row["nome"] .$row["cognome"].   "</OPTION>";
    }
    ?>
    </select>
    </p>
    
    <p><label for="Scelta_stoccaggio"><input type="checkbox" name="id_stoc" id="id_stoc" value="si" />Seleziona per stoccare il prodotto</label></p>
    <div id="stoc" >
    <fieldset>
     ..............................
    </fieldset>
    </div>
    
    
    <p><label for="Scelta_confezionamento"><input type="checkbox" name="id_confez" id="id_confez" value="si" />Seleziona per confezionare</label></p>
    <div id="conf">
    <fieldset>
    ................................	
    </fieldset>	
    </div>
    
    
    <p>
    <input type="submit" name="submit" id="submit" value="Registra"  /> 
    </p>
    
    </form>
    

    Al caricamento della pagina i due div conteneti altri campi input del form sono nascosti ed al momento che vengono selezionate le checkbox vengono mostrate e fin qui tutto ok. Ora come dicevo nel post precedente vorrei che al momento che lutente sceglie il mittente se questo è un autoconsumatore deve disabilitarsi la checkbox confezionamento. Ho pensato di usare jQuery e php ma non riesco a capire proprio come ho provato inserendo il seguente codice subito dopo la scelta del mitt.

    Codice:
    <script type="text/javascript">
    
    function verifica_autoconsumo(){
    	var id_mitt=$("#mitt").val();
    $.ajax({
        type:'POST',
        url:'verifica_autoconsumo.php',
        data:'id_mitt='+id_mitt,
        success: function(response){
     if(response == 0 )
    {
    $("#id_confez").attr(‘disabled’,‘true’);	}
    }
    });
    };
    </script>
    Nella pagina autoconsumo invece ho scritto questo

    PHP:
    <?php 
    include("connessione_db.php");
     
    $mitt=$_POST['id_mitt'];
     
    $query="SELECT * FROM mittente WHERE id_mitt='$mitt' AND autoconsumo='si'";

    $result=mysql_query($query);

    $esito mysql_num_rows($result);

    if( 
    $esito == 0)
    {
    echo 
    '1';    //AUTOCONSUMO NO
    }
    else
    {
    echo 
    '0';    //AUTOCONSUMO SI
    }
    ?>
     
  4. ncastelletti

    ncastelletti Nuovo Utente

    Registrato:
    23 Giugno 2014
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Scusa ma non so come aiutarti in questo caso
     
  5. alessiof86

    alessiof86 Utente Attivo

    Registrato:
    6 Luglio 2009
    Messaggi:
    134
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    grazie lo stesso, io sto sempre sbattendo la testa su questo problema ho visto dalla console di firebug che al momento della chiamata ajax con il seguente codice gli viene passato id_mitt=undefined quindi non prend eil valore della select. Dove sbaglio c'è qualcuno che mi può aiutare

    Codice:
    function verifica_autoconsumo(){
    	var id_mitt=$("select#mitt").val();
    	$.ajax({
        type:'POST',
        url:'verifica_autoconsumo.php',
        data: 'id_mitt='+id_mitt,
        success: function(response){
     if(response == 1 )
    {
    $("#id_confez").attr("disabled", true);	}
    }
    });
    };
     
  6. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    Ciao non mi pare che la select abbia id mitt
    Codice:
    $("select#mitt")
    dovrebbe essere cosi
    Codice:
    $("select[name='mitt']")
    oppure metti l'id alla select
     
  7. alessiof86

    alessiof86 Utente Attivo

    Registrato:
    6 Luglio 2009
    Messaggi:
    134
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Grazie mille risolto
     
Sto caricando...

Condividi questa Pagina