Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Php e Ajax + Form

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    7

    Php e Ajax + Form

    Ciao a tutti, spero di non fare troppa confusione nel descrivere il mio problema:

    Ho un form di questo genere:
    codice:
    <form id="loginForm" name="loginForm" method="post" action="newpost-register.php">
    	  <table border="0" align="center" cellpadding="2" cellspacing="0">
    		[...]
    		<tr>
    		  <th><label for="post_country">Paese*</th>
    		  <td><SELECT NAME="country" id="country">
                                 [...]
                                 <OPTION VALUE=ZM> Zambia </OPTION>
                                 <OPTION VALUE=ZW> Zimbabwe </OPTION>
                            </SELECT>
                            </FORM>
                            </label>
                      </td>
    		<tr>
    		  <th><label for="post_city">Città*</th>
    		  <td><? include("newpost-city.php"); ?></label></td>
    		</tr>
    		[...]
    		<tr>
    		  <td></td>
    		  <td><input type="submit" name="Submit" value="Register" /></td>
    		</tr>
    	  </table>
    	</form>
    Questa parte in alto include un newpost-city.php che contiene ciò:
    codice:
    <script language="JavaScript" SRC="./js/lib/prototype.js"></script>
    <script language="Javascript" src="./js/src/scriptaculous.js"> </script>
    <script language="Javascript" src="./js/src/effects.js"> </script>
    <script language="Javascript" src="./js/src/controls.js"> </script>  
    
    <input type="text" id="city" name="city" class="textfield" size="44" /> (Autocompletamento attivo)
    <div id="hint"></div>
    <script type="text/javascript">   
    new Ajax.Autocompleter("city","hint","newpost-city-ajax.php");
    </script>
    Praticamente il valore di Città viene dato in pasto ad Ajax che si preoccupa dell'autocompletamento.
    In Ajax però riesco a passare solo il campo città mentre vorrei passare anche il campo Paese che però fa parte di un altro tag del form del codice in alto... come faccio a passare anche la variabile "country" allo script Ajax senza dover cliccare sul tasto submit del form?

    Spero di non aver fatto confusione con tutto questo giro, grazie mille!

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    A occho e croce il file php:
    Codice PHP:
    <script language="JavaScript" SRC="./js/lib/prototype.js"></script>
    <script language="Javascript" src="./js/src/scriptaculous.js"> </script>
    <script language="Javascript" src="./js/src/effects.js"> </script>
    <script language="Javascript" src="./js/src/controls.js"> </script>  

    <input type="text" id="city" name="city" class="textfield" size="44" /> (Autocompletamento attivo)
    <div id="hint"></div>
    <script type="text/javascript">   
    new Ajax.Autocompleter("city","hint","newpost-city-ajax.php");
    </script> 
    prende il valore di id="city" , elabora e sostituisce il value con quello che mette prima in id="hint" innerHTML (cmq una cosa simile)

    Bisogna vedere se il file php e' predisposto all'estrazione di altri dati , modificare qualche cosa tipo la query che esegue o su xml la ricerca comunque e provare una cosa tipo:

    Codice PHP:
    <script language="JavaScript" SRC="./js/lib/prototype.js"></script>
    <script language="Javascript" src="./js/src/scriptaculous.js"> </script>
    <script language="Javascript" src="./js/src/effects.js"> </script>
    <script language="Javascript" src="./js/src/controls.js"> </script>  

    <input type="text" id="city" name="city" class="textfield" size="44" /> (Autocompletamento attivo)
    <div id="hint"></div>
    <script type="text/javascript">   
    new Ajax.Autocompleter("paese","hint_paese","newpost-city-ajax.php");
    </script> 
    Teoricamente puoi usare cmq hint dato che nn viene mostrato credo.
    Ma nel php forse ti servirà un altro parametro?? di default forse fa un echo in quel div col valore citta'.

    Magari passando una cosa tipo ..... new Ajax.Autocompleter("city","hint","newpost-city-ajax.php?campo=paese"); modificare il php per la ricerca.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    7
    Ciao Marco, grazie per aver risposto.
    Dunque il problema non è che voglio usare il paese al posto della città ma voglio usarli entrambi quindi oltre a hint vorrei passare anche hint_paese.
    Il problema è che il campo di input non è lo stesso ed è qui che non saprei come far valere la variabile.
    Quel "newpost-city-ajax.php" contiene infatti una select che dovrebbe gestire non solo il parametro di hint ma anche quello di hint_paese.
    Per quanto riguarda il file php l'ho creato io quindi se può esserti di aiuto qualche informazione in più posso darti tutte le info che vuoi.
    Grazie ancora!
    Shella

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, ho letto ora
    Cmq intendevo questo, mi son scordato di modificare sopra
    Codice PHP:

    <script language="JavaScript" SRC="./js/lib/prototype.js"></script>
    <script language="Javascript" src="./js/src/scriptaculous.js"> </script>
    <script language="Javascript" src="./js/src/effects.js"> </script>
    <script language="Javascript" src="./js/src/controls.js"> </script>  

    <input type="text" id="city" name="paese" class="textfield" size="44" /> (Autocompletamento attivo)
    <div id="hint_paese"></div>
    <script type="text/javascript">   
    new Ajax.Autocompleter("paese","hint_paese","newpost-city-ajax.php");
    </script> 
    e magari modificare il php per gestire il tipo di query new Ajax.Autocompleter("paese","hint_paese","newpost-city-ajax.php?selezione=paese");

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    7
    Ciao Marco, fortunatamente ho risolto dopo aver sbattuto la testa mille volte.
    Ho trovato risposta a questo link:

    http://www.riccardoslanzi.com/post/79.html


    In breve in seguito ad una piccola modifica del file delle funzioni di Ajax, è possibile passare altri parametri in modo semplice e veloce.

    Grazie e tutti, spero che questa cosa possa ritornare utili anche ad altri lettori.
    Ciao Marco,
    Shella.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.