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

    Problema con form e doppio submit

    ciao!
    avrei una cosa da chiedere riguardo ad un form che ha due pulsanti legati a due input text, che svolgono operazioni diverse:
    Codice PHP:
    <?php
    if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_r_sconto'])) {
        
    // FAI UNA COSA
    }
    if (
    $_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_qta_articolo'])) {
        
    // FANNE UN'ALTRA
    }
    ?>
    ora il fatto è questo: per fare la prima cosa posso sia spingere sul bottone che dare invio sulla input text.

    invece per la seconda operazione posso solo spingere sul bottone; se do invio il form viene inviato, ma non vengono eseguite operazioni.
    avete idea del perchè?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Mostra come è fatto il form.

  3. #3
    ecco qua (gli ho dato una pulita dalle cose inutili):
    Codice PHP:
    <form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
        <table>
        <?php
        
    if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_r_sconto'])) {
            
    // FAI UNA COSA
        
    }
        if (
    $_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_qta_articolo'])) {
            
    // FANNE UN'ALTRA
        
    }
        
    ?>     
            <tbody>
                <?php
                
    foreach (................ as $art): ?>
                    <tr>
                        <td>
                            <div class="has-success">
                                <input type="hidden" name="r_id[]" value="<?php echo $art['r_id']; ?>">
                                <input type="text" name="r_sconto[]" value="<?php echo $art['r_sconto']; ?>"> - 
                                <input type="submit" name="btn_r_sconto" value="Modifica sconto">
                            </div>
                        </td>
                        <td>
                           ..........
                        </td>
                        <td>
                            <div>
                                <input type="hidden" name="articolo_id_qta[]" value="<?php echo $art['fk_articolo']; ?>">
                                <input type="text" name="qta[]" value="<?php echo $qta?>"> - 
                                <input type="submit" name="btn_qta_articolo" value="Modifica qta">
                            </div>
                        </td>
                        <td>...........</td>
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </form>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se ho ben capito il tuo problema è che tu vuoi che premendo invio, venga attivato il button relativo alla casella di testo in cui stai scrivendo, è così?

    Se così fosse, il problema non è sicuramente PHP.
    Potrei dire una stupidata, ma penso che premendo invio venga semplicemente attivato il primo submit che viene trovato nel form, non quello più vicino alla casella di testo attiva.

  5. #5
    Originariamente inviato da Alhazred
    Se ho ben capito il tuo problema è che tu vuoi che premendo invio, venga attivato il button relativo alla casella di testo in cui stai scrivendo, è così?

    Se così fosse, il problema non è sicuramente PHP.
    Potrei dire una stupidata, ma penso che premendo invio venga semplicemente attivato il primo submit che viene trovato nel form, non quello più vicino alla casella di testo attiva.
    si ci ho pensato anche io.
    ma c'è un modo per risolvere secondo te che non sia l'uso di javascript??

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Penso che senza JS non ti salvi, di sicuro in PHP non risolvi questa cosa.

  7. #7
    Originariamente inviato da Alhazred
    Penso che senza JS non ti salvi, di sicuro in PHP non risolvi questa cosa.
    ok.
    allora farò con js.
    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.