Visualizzazione risultati 1 fino 6 di 6

Discussione: Ottenere valori da un form senza il refresh della pagina

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito Ottenere valori da un form senza il refresh della pagina

    Salve raga!
    Nel mio sito da un po di tempo ho messo un blocco che indica il n°server su altervista e il pagerank del sito interrogato.
    Funziona benone ma, per evitare il refresh dell'intera pagina, l'ho messo in una pagina separata che richiamo dentro al blocco tramite un iframe (il risultato è perfetto).
    Nonostante ciò, anche per imparare qualcosa di nuovo (per me), stavo provando ad evitare l'iframe ed ottenere comunque lo stesso risultato.
    Ho provato a leggere ovunque (ajax, jquery e varie) ma non mi riesce in nessun modo, potete darmi una mano?
    -
    Questo l'html del form: alter-server.php
    Codice PHP:
    <form method="get" action="">
    <
    fieldset style="border:0;">
    <
    input value="" type="text" name="nick" size="17" />
    <
    br />
    <
    input type="submit" value="Nick su AlterVista!" />
    </
    fieldset>
    </
    form>
    Una volta inserito un nick e cliccato mi cambia l'url in: alter-server.php?nick=nickinserito
    -
    Grazie, DarkWolf :)

  2. #2
    Guest

    Predefinito

    Se vuoi usare ajax mi sa che devi mandare una richiesta via POST.

  3. #3
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Citazione Originalmente inviato da gabryhacker Visualizza messaggio
    Se vuoi usare ajax mi sa che devi mandare una richiesta via POST.
    Non credo, in questo specifico caso, sia possibile ottenere i dati via post

  4. #4
    Guest

    Predefinito

    Perchè no scusa? Comunque ci vuole del javascript con XMLHttpRequest...

  5. #5
    Guest

    Predefinito

    Ho visto che hai "risolto" con una frame...
    Ma perchè non farlo in ajax?

    Form:
    Codice HTML:
    <script type="text/javascript">
    var xmlHttp
    function controlla(str) {
    if(str.length == 0) {
    document.getElementById("server").innerHTML = "";
    return;
    }
    xmlHttp = GetXmlHttpObject();
    if(xmlHttp == null) {
    alert("Il tuo browser non supporta AJAX!");
    return;
    } 
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("POST","server.php",true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded ISO-8859-1");
    var invia = "nick="+str;
    xmlHttp.send(invia);
    }
    
    function stateChanged()  { 
    if(xmlHttp.readyState == 4) { 
    document.getElementById("server").innerHTML = xmlHttp.responseText;
    }
    }
    function GetXmlHttpObject() {
    var xmlHttp = null;
    try {
    xmlHttp = new XMLHttpRequest();
    }
    catch(e) {
    try {
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e) {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    return xmlHttp;
    }
    </script>
    NickName: <input type="text" id="nickname" /><br />
    <input type="button" value="Controlla" onclick="controlla(document.getElementById('nickname').value);" />
    <div id="server">
    </div>
    server.php
    Codice PHP:
    <?php
    $ni
    = htmlspecialchars($_POST['nick']);
    $nick = "$ni.altervista.org";
    $ip = gethostbyname($nick);
    $host = gethostbyaddr($ip);
    $host1 = explode(".",$host);
    $host1 = substr($host1[0], 2);
    $host1 = (int)($host1);
    $host1 = $host1+1;
    if(
    $ip == "207.44.172.63" || strlen($ip) >= 16 && $host1 == 1) {
    echo
    "Non trovato (err: $host1)";
    } else if(empty(
    $ni)) {
    echo
    "";
    } else {
    echo
    "Il sito <a href=\"http://{$nick}\">{$nick}</a> &egrave; ospitato sul server #{$host1}";
    }
    ?>
    Saluti!
    Ultima modifica di nokiagames : 30-03-2009 alle ore 20.49.29

  6. #6
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    Perchè no scusa? Comunque ci vuole del javascript con XMLHttpRequest...
    L'ho provato ma non ottengo i dati.

    Citazione Originalmente inviato da nokiagames Visualizza messaggio
    Ho visto che hai "risolto" con una frame...
    Ma perchè non farlo in ajax?...
    È proprio questo l'oggetto del topic, il problema è che non mi riesce.
    Il codice da te ppostato è questo: http://darkwolf.altervista.org/scrip...rver/form.html provalo e vedrai che non mi funzia :(
    PS: grazie ovviamente
    -
    Edit! si funziona, c'era un errore nel value (non chiuso correttamente)
    Grazie mille
    Ultima modifica di darkwolf : 30-03-2009 alle ore 17.40.29

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •