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

    Problema creazione form con ajax

    Salve dovrei realizzare un carrello . Il funzionamento è che ho una pagina di ricerca la quale mi restituisce i prodotti trovati tramite ajax e dovrebbe creare un form per ogni prodotto il quale via get dovrebbe passare i valori ad una pagina , valori che verranno inseriti in un array.
    Questo il sito di prova :


    http://lemuria.altervista.org/Proveajax/


    Questo il codice ajax


    codice:
    <?php
    
    
    session_start()  ;
    
    
    # inclusione del file di funzione
    include_once 'Librerie/carrello.php';
    //istanzio la classe
    $carrello=new Carrello();
    
    
    //$_SESSION['prodottitrovati']=array();
    ?>
    
    
    
    
    
    
    <?php 
    
    
    $prodotto=$_POST['prodottocliente'];
    
    
    $result=$carrello->cercaprodottocliente($prodotto);
    
    
    ?>
    
    
    <?php if ($result->num_rows==0): ?>
        <h4>Non sono presenti record</h4>
    <?php else: ?>
          <table class="table">
                <thead>
                  <tr>
                   
                    <th>Prodotto</th>
                    <th>Prezzo al pubblico</th>
                    <th>Quantità</th>
                    <th>Ins</th>
                    
    
    
                  </tr>
                </thead>
                <tbody>
    
    
        <?php while ($riga = $result->fetch_assoc()): ?>
                <?php 
    
    
                  $prodotto=$riga['prodotto']; 
                  $prezzopubblico=$riga['prezzopubblico'];
                  
                  $idprodotto=$riga["id_prodotto"];
                  
    
    
              ?>
                          
                        <tr>
                          
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                         
                          <form name="prodottonelcarrello<?php echo $idprodotto ?>" id="prodottonelcarrello<?php echo $idprodotto ?> " method="GET"  action="prodottonelcarrello.php" data-toggle="validator">
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" required> </td>
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                          
                        </tr>
                        </form>
    
    
           
                        
    
    
        <?php endwhile ?>
        
    <?php endif ?>

    Analizzando l'output da analizza elemento noto che mi vengono chiusi tutti i tag del forum rendendo impossibile il submit :


    codice:
    <tr>
                          
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                         
                          <form name="prodottonelcarrello<?php echo $idprodotto ?>" id="prodottonelcarrello<?php echo $idprodotto ?> " method="GET"  action="prodottonelcarrello.php" data-toggle="validator">
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" required> </td>
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                          </form>
    
    
                        </tr>

    Sapete perchè mi vengono chiusi i tag ?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Edit: avevo capito male cosa vuoi fare.

    Ad occhio sembrerebbe giusto così, un form per ogni prodotto, no? Cosa vorresti ottenere invece?
    Ultima modifica di Alhazred; 26-01-2015 a 14:08

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Perché il tag di chiusura </form> sta dentro il ciclo while, quindi viene aggiunto ad ogni iterazione, mettilo fuori.

    Il tag deve stare dentro il while perchè creo un form per ogni articolo , qui il problema è che mi chiude subito il tag....

    scusa avevo sbagliato output :
    codice:
    <form name="prodottonelcarrello2" id="prodottonelcarrello2 " method="GET" action="prodottonelcarrello.php" data-toggle="validator"></form>
    Ultima modifica di pippuccio76; 26-01-2015 a 14:10

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, ho modificato, avevo frainteso il problema.

  5. #5
    passa da
    Codice PHP:
    <tr>
                          
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                         
                          
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" required> </td>
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                          
                        </tr>
                        </form>
    a

    Codice PHP:
    <tr>
    <td>
    <form name="prodottonelcarrello<?php echo $idprodotto ?>" id="prodottonelcarrello<?php echo $idprodotto ?> " method="GET"  action="prodottonelcarrello.php" data-toggle="validator">
    <table>
    <tr>
    <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                         
                          
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" required> </td>
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                          
                        </tr>
    </table>
    </form>
    </td>
    </tr>
    o a qualcosa di analogo. nel senso di non splittare il form in mezzo alla tr
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Ho provato così :


    codice:
                        <tr>
                        <form  method="get"  action="prodottonelcarrello.php" >
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><?php echo $codminsan ?></td>
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                          <td><?php echo $prezzovet ?></td>
                          <td><?php echo $scontovet ?></td>
                          <td><?php echo $se3?></td>
                          <td><?php echo $se5 ?></td>
                          
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" > </td>
    
                          <td><input type="checkbox" name="fattura" value="Fattura"></td>
    
                          <td><input type="checkbox" name="preventivo" value="preventivo"></td>
    
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                            </form>
                        </tr>
    e così:

    codice:
    <form  method="get"  action="prodottonelcarrello.php" >
                        <tr>
                        
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><?php echo $codminsan ?></td>
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                          <td><?php echo $prezzovet ?></td>
                          <td><?php echo $scontovet ?></td>
                          <td><?php echo $se3?></td>
                          <td><?php echo $se5 ?></td>
                          
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" > </td>
    
                          <td><input type="checkbox" name="fattura" value="Fattura"></td>
    
                          <td><input type="checkbox" name="preventivo" value="preventivo"></td>
    
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                          
                        </tr>
                        </form>
    Ma non funziona innessuno dei due metodi ....

  7. #7
    non puoi mettere
    codice:
    <form ..>
    <tr>
    ...
    </tr>
    </form>
    nè nell'altro modo perchè il tag form non consente tag tr/td come figli diretti (se non ricordo male). Prova la solzuione mia


    http://stackoverflow.com/questions/4...h-tr-is-a-form
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    La tua modalità permette di inviare tramite get ma ci sono 2 problemi :

    MODO1:

    codice:
    <?php
    
    session_start()  ;
    
    # inclusione del file di funzione
    include_once 'Librerie/carrello.php';
    //istanzio la classe
    $carrello=new Carrello();
    
    //$_SESSION['prodottitrovati']=array();
    ?>
    
    
    
    <?php 
    
    $prodotto=$_POST['prodottocliente'];
    
    $result=$carrello->cercaprodottocliente($prodotto);
    
    ?>
    
    <?php if ($result->num_rows==0): ?>
        <h4>Non sono presenti record</h4>
    <?php else: ?>
       <form name="prodottonelcarrello" id="prodottonelcarrello" method="GET"  action="prodottonelcarrello.php" >
    
          <table class="table">
                <thead>
                  <tr>
                   
                    <th>Prodotto</th>
                    <th>Prezzo al pubblico</th>
                    <th>Quantità</th>
                    <th>Ins</th>
                    
    
                  </tr>
                </thead>
                <tbody>
    
        <?php while ($riga = $result->fetch_assoc()): ?>
                <?php 
    
                  $prodotto=$riga['prodotto']; 
                  $prezzopubblico=$riga['prezzopubblico'];
                  
                  $idprodotto=$riga["id_prodotto"];
                  
    
              ?>
                          
                        <tr>
                          
                          <td><?php echo $prodotto ?></td>
                          <td><?php echo $prezzopubblico ?></td>
                         
                          <input type="hidden" id='idprodotto' name="idprodotto" value="<?php echo $idprodotto ?>">
                          <td><input type="text" class="form-control" name="quantita" id="quantita"  placeholder="Qtà?" > </td>
                          <td><input type="submit" value="Inserisci nel carrello"></td>
                         
    
                        </tr>
                        
           
                        
    
        <?php endwhile ?>
         </form>
    <?php endif ?>
    Modo 2

    apro due table una per la riga th

    e oguno per le righe td , ma la formattazione non è presentabile

  9. #9
    Non ho capito la tua risposta, cmq il tag form non può spezzare nè tr nè td. Quindi mettilo tutto nell'ultima td e il submit lo gestisci con javascript, ovvero gli input li metti fuori dal form e al click sul tasto submit carichi i dati nel form e lo invii via get o come ti pare a te.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.