Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    chiamare una function da input radio

    Ciao a tutti, qualcuno saprebbe spiegarmi come prelevare dei dati da un form post leggendo le scelte prima di cliccare su "invia"?
    Mi spiego meglio : ho un form con richiesta "radio" di alcuni parametri, ogni scelta effettuata mi deve calcolare il prezzo.
    Il mio problema è che essendo un POST non riesco a "prendere" i dati prima dell'invio.
    Mi date una mano?


    Codice PHP:
    $val=0.00;

    <form action ="check_ordine.php" method="POST"   enctype="multipart/form-data" id="" test=y >

    <fieldset><?php echo "Totale Ordine $val";?></fieldset>            
    <legend>Formato di stampa</legend>
      
    <input type="radio" id="answer1_1" value="A0" name="answer_1"  checked="checked" onclick="calcola();"> A0  
    <input type="radio" id="answer1_2" value="A1" name="answer_1" onclick="calcola();"> A1  
    <input type="radio" id="answer1_3" value="A2" name="answer_1" onclick="calcola();"> A2  
    <input type="radio" id="answer1_4" value="A3" name="answer_1" onclick="calcola();"> A3  
    <input type="radio" id="answer1_5" value="A4" name="answer_1" onclick="calcola();"> A4

    <fieldset    <legend> numero di copie </legend>

    <input type="text" id="copie" size=3 name="copie" maxlength="2" value="1" /> 

    </fieldset>
    questa è la function che deve calcolare l'importo :

    Codice PHP:

    <script languague='javascript'>

    function 
    calcola ($_POST['answer_1'],$_POST['answer_2'],$_POST['answer_3'],$_POST['grammi'],$_POST['answer_4'],$_POST['copie'],$val) {
         
        
    $formato$_POST['answer_1'];
        
    $qualita$_POST['answer_2'];
        
    $colore =$_POST['answer_3'];
        
    $grammi =$_POST['grammi'];
        
    $ritaglio =$_POST['answer_4'];
        
    $copie$_POST['copie'];

    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();

    $commento_sql $data->query("SELECT * FROM listini WHERE formato ='$formato' and qualita='$qualita' and quadricromia='$colore'  and grammatura='$grammi'");
     
    if(
    mysql_num_rows($commento_sql) > 0
      {  
    while(
    $commento_obj $data->estrai($commento_sql))
    $prezzo abs($commento_obj->prezzo) ;
     }    
    $valore number_format($prezzo,2,".",".");
    ;
    $val=$valore $copie;
        
    return 
    $val;
    }
    </script> 

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    devi usare javascript o fare una richiesta ajax se vuoi andare su server

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    credevo di averlo fatto! nel form :
    <input type="radio" id="answer1_1" value="A0" name="answer_1" checked="checked" onclick="calcola();"> A0
    l'evento onclick chiama la funzione calcola e la funzione calcola :
    <script languague='javascript'>
    function calcola ($_POST['answer_1'],$_POST['answer_2'],$_POST['answer_3'],$_POST['grammi'],$_POST['answer_4'],$_POST['copie'],$val) {

    Scusa ma non conosco java, dagli esempi presi dal forum mi pareva dovessi impostare
    le cose in questo modo, dove sto sbagliando??

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non avevo visto........... credevo fosse php (anche perchè dento ci hai messo del php........ E' sbagliato, non si recuperano così i dati in locale devi usare il DOM

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Originariamente inviato da marcopa

    l'evento onclick chiama la funzione calcola e la funzione calcola :
    <script languague='javascript'>
    function calcola ($_POST['answer_1'],$_POST['answer_2'],$_POST['answer_3'],$_POST['grammi'],$_POST['answer_4'],$_POST['copie'],$val) {
    Stai facendo una gran confuzione, l'array $_POST appartiene al linguaggio php ed è definito DOPO aver inviato il form e in ogni caso solo in uno script lato server.

    Per recuperare i valori di un form devi usare funzionalità di javascript, che è un linguaggio lato client. Siccome javascript è interpretato in maniera diversa dai vari browser, il mio consiglio è utilizzare il framework jQuery, scrissi tempo addietro una breve e semplice introduzione all'utilizzo , potrebbe interessarti leggerla.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Miiiiii..!
    troppo avanti per me! cambio tutto e calcolo il totale solo quando ho il $_POST!
    nel frattempo leggo su jquery dalle indicazioni che mi hai dato per studiarci su.
    grazie.

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.