Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Funzione: passare variabile JS

    Sto programmando un pannello dove un utente può modificare i suoi dati personali. Si tratta di una pagina contenente vari contenuti che variano con AJAX. In uno di questi ho creato il campo "dove hai lavorato?" che è una riga di testo e un pulsante. Al premere di questo pulsante, se è stato inserito qualcosa, crea un div ("in che città?" "per quanto?", ecc). Non ho problemi a salvare le varie informazioni con un foreach tramite PHP, tuttavia, dato che la funzione per far comparire il div in questione è stata fatta in JavaScript anche la variabile "nome dell'azienda dove hai lavorato" è JS, quindi non posso registrare il nome di tale azienda nel DB. Come posso risolvere? Non posso usare un form perchè quando invio i dati mi aggiorna la pagina, facendo così scomparire i div richiamati con JS.

    Ho pensato anche di usare un form e fare che quando si inviano i dati inserisce una riga "nome dell'azienda" e lascia tutti gli altri campi vuoti del DB, dopo di che quando si ritorna su quella pagina si potranno modificare le informazioni relative a quell'azienda. L'idea però non mi piace perchè bisognerebbe ogni volta tornare in quella pagina, insomma, ad un utente non piacerebbe.

  2. #2
    Vedo che gia' usi AJAX, quindi basta che quando un utente inserisce un'informazione, tu faccia una chiamata AJAX ad uno script PHP a cui passi il dato tramite POST o GET a tua scelta e lo script PHP esegue l'inserimento.

  3. #3
    Sai che non ci avevo pensato? si vede che con AJAX ho appena iniziato, eh?
    Riassumendo dovrei modificare la funzione per far comparire il div "per quanto tempo, dove, ecc" con AJAX e fare in modo che il nome dell'azienda venga passato ad uno script php che inserisce già quel nome nel DB? In questo modo quando invierei anche le informazioni su quell'azienda avrei già il nome di essa salvato, o sbaglio?

  4. #4
    Tu fai comparire i tuoi div in JS, poi quando un utente inserisce un dato (e magari preme invio) intercetti quell'evento e richiami - tramite AJAX - uno script PHP. Questa chiamata puo' essere sia POST che GET per il passaggio di valori. Se fai tutto da zero e' una menata, se usi una libreria come jQuery invece con poche righe di codice hai risolto.

  5. #5
    Quindi lascio tutto come ora ma cambio lo script che avviene al submit?

  6. #6
    Originariamente inviato da AleVale94
    Quindi lascio tutto come ora ma cambio lo script che avviene al submit?
    Si, e' possibile fare un submit AJAX invece che con una normale richiesta HTTP. Gestisci l'evento relativo al submit inserendo la chiamata AJAX e terminando con "return false;" per sopprimere il comportamento normale (cioe' l'invio con cambio di pagina).

  7. #7
    Ho fatto in questo modo, mi trovo meglio, però ho problemi a passare la variabile tramite l'url. Posto la funzione...

    codice:
    function new_box(id, name)
    {
    	var oXHR = new XMLHttpRequest();
    				
    	oXHR.open("get", "objects/add_school_work.php?name="+id, true);
    
    	oXHR.onreadystatechange = function ()
    	{
    		if (oXHR.status != 200)
    			document.write("Errore: " + oXHR.status + " " + oXHR.statusText);
    		else
    			document.write(oXHR.responseText);
    	}
    }
    La variabile "id" è definita al 100%, ho provato a farla stampare a video con un alert, mentre quando la mando all'url non succede nulla se la richiamo con $GET['name'].

  8. #8

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    mmm hai provato con $_GET invece di $get?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Ovviamente mi ero sbagliato a scrivere qui... è proprio come se la variabile non venisse passata all'URL!

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.