Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Passaggio di valori

  1. #1

    Passaggio di valori

    Allora....vi illustro il problema: vorrei passare il valore di una variabile che ho all'interno di una funzione javascript ad una form html! Come faccio?
    Di seguito trovate il codice che ho scritto ma che ovviamente non funziona!!!
    In particolare questa riga di codice <input type="hidden" name = "marker" value=""showAddress(this.address.value); ""/> .... è giusta?? o altrimenti come faccio??


    pagina.php

    function showAddress(address) {
    ....
    ....
    return marker;
    }

    <form action="prova.php" method="post" >
    <input type="text" size="60" name="address"/>
    <input type="hidden" name = "marker" value=""showAddress(this.address.value); ""/>
    <input type="submit" value="Go!" />
    </form>

    prova.php
    <?php
    $marker = $_POST['marker'];
    echo $marker;
    ?>

  2. #2
    no allora, non hai chiaro il concetto di base su cui funziona Javascript...

    JS è una serie di istruzioni che vengono eseguite al verificarsi di un determinato evento.

    <input value="..." il value non è un evento ma solo una proprietà dell'elemento input (come può essere type o disabled)

    Se ho capito bene tu vuoi fare che, quando un utente scrive qualcosa nel campo address il valore da lui scritto viene analizzato dalla funzione showAddress il cui ritorno viene, automaticamente, spostato nel campo marker. Giusto?

    Allora, in termini di eventi devi eseguire una funzione nell'evento in cui il valore di address viene modificato.

    Io ti consiglio ti utilizzare l'evento onKeyUp, che significa esegui la funzione indicata dopo l'uguale quando l'utente rilascia un tasto, dopo averlo premuto.

    se per esempio tu scrivessi

    <form action="prova.php" method="post" >
    <input type="text" size="60" name="address" onkeyup="this.form.marker = showAddress(this.value);"/>
    <input type="hidden" name = "marker" />
    <input type="submit" value="Go!" />
    </form>


    la funzione salverebbe nel campo di nome marker, contenuto nella form dell'elemento attuale (è questo il significato di this.form.marker = ) il ritorno della funzione showAddress() alla quale passo come parametro il value dell'elemento corrente (che ti ricordo essere l'elemento dove definisco l'evento onKeyUp, cioè l'input address).

    Spero di essere stato chiaro.

  3. #3
    sei stato chiarissimo....e ti ringrazio....ma non funziona neanche così !!!
    é come se non passasse nessun valore alla pagina successiva :master:

  4. #4
    ma showAddress(address) che fa?

  5. #5
    è un API di Google Maps...in pratica prende un indirizzo e ne fa una geolocalizzazione, e mette dei marker su una mappa di Google Maps.

    function showAddress(address) {
    if (geocoder) {
    geocoder.getLatLng(
    address,
    function(point) {
    if (!point) {
    alert(address + " not found");
    } else {
    map.setCenter(point, 13);
    var marker = new GMarker(point);
    map.addOverlay(marker);
    marker.openInfoWindowHtml(address);
    }
    }
    );
    }
    }

  6. #6
    mmm mi sa che è una chiamata AJAX... non so se è affidabile come procedura, ti conviene fare così:


    <form action="prova.php" method="post" >



    Indirizzo: <input type="text" size="60" name="address" /> <input type="button" value="Ottieni Marker" onclick="this.form.marker = showAddress(this.value); this.form.submit.disabled = false; return false;" />
    </p>



    Marker: <input type="text" name = "marker" readonly="true" />
    </p>
    <input type="submit" name="submit" value="Go!" disabled="disabled" />
    </form>



    Prova questo

  7. #7
    no allora....ho cambiato approccio al problema!!!!!
    Ora sorge un altro dubbio!!!
    Ho un array in php chiamato ArrayPHP e un array in javascript chiamato ArrayJS....e devo inserire i valori di ArrayPHP nell' ArrayJS !

    come faccio?? Ho provato cosi...
    <script>
    for(i=0; i< <?php echo count($ArrayPHP)?>; i++){

    ArrayJS[i] = <?php echo $ArrayPHP[$i]?>

    }

    </script>

    ....ma nn funziona!!! Suggerimenti ?

  8. #8
    Se il contenuto degli elementi di $ArrayPHP &egrave; numerico:
    Codice PHP:
    <script>
    <%
    php
    for($i=0$i count($ArrayPHP); $i++){
        echo 
    "ArrayJS[" $i "] = " $ArrayPHP[$i] . ";\r\n";
    }
    %>
    </script> 
    Se il contenuto degli elementi di $ArrayPHP &egrave; alfanumerico (stringhe):
    Codice PHP:
    <script>
    <%
    php
    for($i=0$i count($ArrayPHP); $i++){
        echo 
    "ArrayJS[" $i "] = \"" $ArrayPHP[$i] . "\";\r\n";
    }
    %>
    </script> 
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  9. #9
    ok grazie....ora però ho un altro problema
    scusate se rompo...ma non faccio in tempo a sistemare una cosa che subito esce fuori un problema nuovo!!!!

    allora....ora ho il mio bell'array in javascript chiamato address[] che contiene una serie di indirizzi (quindi stringhe) e devo passare tutti questi indirizzi ad una funzione (showAddress), uno alla volta!
    Questa cosa la faccio così:

    for(var i=0; i<address.lenght; i++){
    showAddress(address[i]);
    }

    Solamente che non funziona!!! Sembra proprio che non gli piaccia il valore passato in quel modo con l'array....perchè se provo altre soluzioni (senza array) allora funziona!

    se ad esempio la chiamo in questo modo

    showAddress("roma");

    oppure con una variabile di appoggio che non sia un array

    a = "roma";
    showAddress(a);

    allora funziona!!!!! Ma xchè ???

    Se però provo a fare

    a = address[i]
    showAddress(a)

    non funziona!!!! Sembra proprio che non gli piacciono gli array!!!! Sbaglio qualcosa io???


  10. #10
    o più semplicemente l'array è vuoto...

    Guarda il codice HTML della pagina una volta aperta e controlla la sintassi di quello che hai passato con la procedura di homezappa

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.