Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    onclick input dentro form

    Ciao,
    ho il seguente form

    <form action="https://...." method="post">
    ....
    <input type="submit" value="Completa acquisto »" id="continua">
    </form>

    che permette di anadare ad una pagina che risiede in un server "non mio".
    Vorrei che al click sul submit "Completa acquisto", prima di andare alla pagina https, venga eseguita una scrittura in un file.

    Ho modificato l'input così:

    <input type="submit" value="Completa acquisto »" id="continua" onclik="salva()">

    oppure ho messo questa chiamata nel tag form (mettendo onsubmit="salva()")

    il risultato è errato.

    La funzione salva è la seguente:

    <script>
    function salva(val) {
    if (val != '')
    document.write('<?php $apri = fopen ('public/form.txt','a'); fputs($apri,'valore'); fclose($apri); ?>')
    }
    </script>

    O viene messa nell'head oppure nel body, ciò che succede è sempre lo stesso: al caricamento della pagina avviene la scrittura (cosa che non voglio) e poi al click sul "Completa acquisto" non succede nulla.

    Come posso rislvere il problema?
    Ogni soluzione è ben accetta: il problema è quello di dover scrivere in un file txt al click sul bottone submit del form.

    Aspetto un vostro aiuto, grazie.
    PS. Mi hanno detto, avendolo postato anche su PHP, che ci vuole AJAX.

  2. #2
    stai facendo un po di casini. in javascript non puoi creare codice php, quello che tu fai tra l'altro è doppiamente sbagliato, poichè php nel momento di generare la pagina esegue il codice che trova all interno della stringa, salvandoti il file. come fare ? un metodo c'è
    utilizzare un iframe nascosto e cambiare la location, facendolo puntare ad un altra pagina php dove passerai il tuo parametro
    oppure utilizzare una chiamata ajax se non vuoi utilizzare un iframe,

  3. #3
    sicuramente l'iframe no.
    Pensavo ad ajax.
    Potete aiutarmi?

  4. #4
    Originariamente inviato da triple h
    sicuramente l'iframe no.
    Pensavo ad ajax.
    Potete aiutarmi?
    hai diverse opzioni, puoi fare un altra pagina php dove salvi solo il file (consigliato)
    oppure passare un parametro alla stessa pagina che switcha in modalità ajax (esempio ajax=1)
    supposto che tu voglia fare nel primo modo
    avrai la tua pagina salvadati.php
    Codice PHP:
    <?php 
    $valore 
    $_POST['valore'];
    $apri fopen ('public/form.txt','a'); 
    fputs($apri,$valore); 
    fclose($apri); 
    ?>
    e nella pagina di prima la funzione salva() diventa:
    codice:
    // funzione per assegnare l'oggetto XMLHttpRequest
    // compatibile con i browsers più recenti e diffusi
    function assegnaXMLHttpRequest() {
    
    // lista delle variabili locali
    var
     // variabile di ritorno, nulla di default
     XHR = null,
     
     // informazioni sul nome del browser
     browserUtente = navigator.userAgent.toUpperCase();
    
    
     // browser standard con supporto nativo
     // non importa il tipo di browser
     if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
      XHR = new XMLHttpRequest();
    
     // browser Internet Explorer
     // è necessario filtrare la versione 4
     else if(
      window.ActiveXObject &&
      browserUtente.indexOf("MSIE 4") < 0
     ) {
     
      // la versione 6 di IE ha un nome differente
      // per il tipo di oggetto ActiveX
      if(browserUtente.indexOf("MSIE 5") < 0)
       XHR = new ActiveXObject("Msxml2.XMLHTTP");
    
      // le versioni 5 e 5.5 invece sfruttano lo stesso nome
      else
       XHR = new ActiveXObject("Microsoft.XMLHTTP");
     }
    
     return XHR;
    } 
    
    function salva(){
    var valore = "Qui metterai un eventuale valore tu voglia passare";
    var ajax= assegnaXMLHttpRequest();
    ajax.open("post", "salvadati.php", false);
    ajax.send("valore="+valore); 
    }
    ps.ringrazio Andr3a detto sborò per la guida ajax di html.it

    http://javascript.html.it/guide/leggi/95/guida-ajax/

  5. #5
    perfetto.
    grazie mille.

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.