Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154

    Problema php combinato a javascript e ai form

    Buon giorno!
    dopo una mattinata di prove mi sono arreso!

    facendo un e-commerce, nella visualizzazione del carrello (tramite cookie ma non è questo il problema) do all'utente la possibilità di aumentare o diminuire la quantità del singolo prodotto. lo faccio tramite 2 select e due pulsanti con '+' e '-'.
    il codice che mi genera il carrello è il seguente:
    Codice PHP:
    echo "<table style='width:100%; '>";
    echo 
    "<th>Nome</th><th>Prezzo</th><th>Quantità</th><th>Totale</th>";
    for(
    $i 0$i<count($prodotti)-1$i++) {
    $vett explode("x",$prodotti[$i]);
    $contenuto mysql_fetch_array($data->query("SELECT * FROM prodotti_vendita WHERE id = ".$vett[0].";",$connessione));
    $prezzo $vett[1]*$contenuto['prezzo'];
    echo 
    "<tr>\n";
    echo 
    "<td style='border:2px solid red; width:35%;'>[url='specifiche.php?id=".$vett[0]."']\n".$contenuto['nome']."\n</td>\n<td style='border:2px solid red; width:10%;'>\n&euro;".$contenuto['prezzo']."[/url]</td><td style='border:2px solid red; width:10%;'>".$vett[1]."</td>\n<td style='border:2px solid red; width:10%;'>\n&euro;".$prezzo."\n</td>\n";
    echo 
    "<td style='width:25%; border:2px solid red;'>\n";
    echo 
    "<form method='get' action='' name='form_".$i."' style='width:100%; overflow:hidden;'>\n";
    echo 
    "<select name='scegli_quantita_piu_".$i."' style='width:50px;'>\n";
    for(
    $j 0$j $contenuto['quantità']; $j++) echo "<option value=".($j+1).">".($j+1)."</option>\n"
    echo 
    "</select>\n";
    echo 
    "<input type='button' value='+' name='piu' onclick='javascript:document.form_".$i.".action=\"upcarrello.php?id=".$contenuto['id']."&p=piu&q=\"+(document.form_".$i.".scegli_quantita_piu_".$i.".selectedIndex+1); alert(document.form_".$i.".action); document.form_".$i.".submit();' />\n";
    echo 
    "<input type='button' value='-' name='meno' onclick='javascript:document.forms[".$i."].action=\"upcarrello.php?id=".$contenuto['id']."&q=meno&q=\"+(document.form_".$i.".scegli_quantita_meno_".$i.".selectedIndex+1); alert(document.form_".$i.".action); document.form_".$i.".submit();' />\n";
    echo 
    "<select name='scegli_quantita_meno_".$i."' style='width:50px;'>\n";
    for(
    $j 0$j $vett[1]; $j++) echo "<option value=".($j+1).">".($j+1)."</option>\n"
    echo 
    "</select>\n";
    echo 
    "</form>\n";
    echo 
    "</td>\n";
    echo 
    "</tr>\n";

    il codice è un po' incasinato perchè ha delle istruzioni lunghe però io in base a quale tasto prema l'utente, il tasto + o il tasto -,decido che action dare al form preso in causa.
    vi posto il codice dei bottoni per maggior chiarezza
    Codice PHP:
    echo "<input type='button' value='+' name='piu' onclick='javascript:document.form_".$i.".action=\"upcarrello.php?id=".$contenuto['id']."&p=piu&q=\"+(document.form_".$i.".scegli_quantita_piu_".$i.".selectedIndex+1); alert(document.form_".$i.".action); document.form_".$i.".submit();' />\n";
    echo 
    "<input type='button' value='-' name='meno' onclick='javascript:document.forms[".$i."].action=\"upcarrello.php?id=".$contenuto['id']."&q=meno&q=\"+(document.form_".$i.".scegli_quantita_meno_".$i.".selectedIndex+1); alert(document.form_".$i.".action); document.form_".$i.".submit();' />\n"
    gli alert mi stampano la stirnga corretta! invece il problema è che quando la pagina cambia non va alla pagina che voglio, che dovrebbe essere quella che controllo con l'alert!
    mi finisce a questa pagina:
    http://localhost/drinkfromitaly/upca...ntita_meno_0=1
    non capisco proprio xk =( xk ho molti form in quella pagina? ci sono tanti form quanti sono i tipi di prodotti piu altri due per altre cose...

    Bho mi affido a voi!
    Grazie!

    Edit.
    la querystirng si trasforma passando solo il valore delle due select e non quello che effettivamente è l'action.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E il problema quale è?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    154
    Originariamente inviato da Alhazred
    E il problema quale è?
    Scusa ma ho premuto il tasto invia risposta al posto che visualizza anteprima xD

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.