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

    rilevazione tasto premuto in un form

    Ciao a tutti... allora...

    Ho una pagina php al cui interno c'è un form in cui ci sono diversi tag <INPUT> aventi tutti "type=submit" ...

    quando uno di questi viene premuto, avviene un reload di pagina...

    ora, avrei bisogno di poter rilevare quale dei tasti viene premuto e assegnare tale riferimento ad una variabile php in modo che ogni volta che la pagina viene ricaricata, rilevando il riferimento al tasto premuto, possa implementare uno switch su azioni diverse...

    qualcuno può aiutarmi ?

  2. #2
    Ci sono diversi modi. Spiega meglio il contesto...
    Nothing To Say :-D

  3. #3

    Provo a entrare nel dettaglio...

    Provo a entrare nel dettaglio...

    Ho un form come quello visibile QUI dove all’interno ci sono 2 tipi di oggetti:

    1 - campi per dati che andranno ad inserirsi in un database
    2 - campi relativi a immagini da uploadare

    Lo stato di entrambi deve però essere salvato contemporaneamente: tutti icambiamenti (relativi ai dati o alle immagini) devono essere rilevati ciccando su SALVA.

    Ora, mi si presenta il problema della cancellazione di immagini così ho messo il tasto di cancellazione (X) come
    codice:
    <INPUT type=submit …>
    perché pur richiamando un’operazione di cancellazione deve salvare lo stato di tutto il resto come se si premesse SALVA

    Quindi io vorrei poter rilevare in una variabile se viene premuto X oppure SALVA:

    -se viene premuto X ci sarà un’operazione php di cancellazione file (unlink…) e quindi il salvataggio di tutti gli altri dati
    -se viene premuto SALVA ci sarà il salvataggio di tutti gli altri dati

    I pezzi di codice relativi sono i seguenti:

    codice:
    .....................
    .....................
    .....................
    
    $editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
      $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
    
    }
    
    if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "form_brokeraggio")) {
    
    // UPLOAD IMMAGINI
    $codice = $HTTP_GET_VARS['codice'];
    $nomecartella = "/ux01/0/172/public_html/immagini/brokeraggio/".$codice;
    
    if ($HTTP_POST_FILES['img1']['tmp_name'] != "" && $HTTP_POST_FILES['img1']['tmp_name'] != $codice."_foto_1.jpg") {
    
     if (substr($HTTP_POST_FILES['img1']['name'], -3) != "jpg") {
     exit("ATTENZIONE LE IMMAGINI DEVONO ESSERE IN FORMATO JPG");
     }
     if (file_exists("../immagini/brokeraggio/".$codice."/".$codice."_foto_1.jpg")) {
    
     unlink($nomecartella."/".$codice."_foto_1.jpg");
     }
     copy ($HTTP_POST_FILES['img1']['tmp_name'],$nomecartella."/".$HTTP_POST_FILES['img1']['name']);
     rename ($nomecartella."/".$HTTP_POST_FILES['img1']['name'], $nomecartella."/".$codice."_foto_1.jpg");
     }
    
    .....................
    .....................
    .....................
    
      $updateGoTo = $PHP_SELF;
      if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $updateGoTo));
      
    }
    
    .....................
    .....................
    .....................
    
    <head>
    <script language="Javascript">     
    // Questo script visualizza un'anteprima delle immagini selezionate per l'upload
    function preview(x)
    { 
    switch (x) { 
    case 1: 
    document.swap1.src = document.form_brokeraggio.img1.value; 
    
    return true;
    case 2: 
    document.swap2.src = document.form_brokeraggio.img2.value;
    return true;
    }
    ....................
    ....................
    .................... 
    </script>
    
    <script language="Javascript">     
    // Questo script visualizza NESSUNA FOTO SELEZIONATA quando si clicca sul cestino per eliminare una foto
    function preview2(y)
    { 
    switch (y) { 
    case 1: 
    document.swap1.src = "../immagini/nessuna_foto_selezionata.jpg";
    
    ....................
    ....................
    .................... 
    </script>
    </head>
    
    <form action="<?php echo $editFormAction ?>" enctype='multipart/form-data' name='form_brokeraggio' method='POST'>
    
    .................................
    ..... CAMPI RELATIVI AI DATI ....
    .................................
    
    <td height="30"   valign="top" bordercolor="#FFFFFF" bgcolor="#EFF3F7"><font color="#EFF3F7">---</font>[img]<?php if (file_exists("../immagini/brokeraggio/".$codice."/".$codice."_foto_1.jpg")) { echo "../immagini/brokeraggio/".$codice."/".$codice."_foto_1.jpg?=".rand();} else { echo "../immagini/nessuna_foto_selezionata.jpg";}?>[/img]
    <input type="file" name="img1" class="formimmagini" size="30" Onchange="preview(1)"><input type=submit  alt="Elimina foto" title="Elimina foto" style=" width:20px; height:20px;" value="X" OnClick='preview2(1); y=1;'>
     
    </td>
    
    ................................
    ................................
    ................................
    
    <input name='pubblicazione' type=checkbox>
    <--- PUBBLICA SU INTERNET
    <input type=submit value='SALVA'OnClick="scritta_status_bar()">
    
    <input type="hidden" name="MM_update" value="form_brokeraggio" >
      
    </form>
    Funziona tutto, eccetto per il fatto che ho esposto sopra che ancora devo gestire
    Grazie dell’attenzione, spero qualcuno possa aiutarmi
    Ciao !

  4. #4
    codice:
    <input type="submit" name="Submit" value="invia">
    <input type="submit" name="Submit" value="modifica">
    nella pagina successiva
    $_POST['Submit'] contiene il value del tasto premuto

  5. #5

    ulteriore problema...

    grazie 1000! ...così funziona, ma ora è sorto un ulteriore problema: io volevo usare il value="X" col "doppiosenso" che X indicasse la cancellazione... ora, dovendo estendere tale pulsante ad ogni immagine e non solo alla prima come visualizzato QUI , dovrei dare per ciascuna un value diverso (es. X1, X2, X3, ...) perdendo il senso...
    Ho provato ad utilizzare una immagine come tasto:

    codice:
    <input name="Submit" type="image" src="elimina.gif" alt="elimina foto" title="elimina foto" width="20" height="20" value="X1">
    ]<input name="Submit" type="image" src="elimina.gif" alt="elimina foto" title="elimina foto" width="20" height="20" value="X2">
    ...................
    ...................
    ...................
    ma col type=image non funziona...

    Qualche altro suggerimento ?

    grazie !

  6. #6

    eureka!

    Ho trovato una soluzione da "archimede pitagorico" che funziona...

    senti qua:

    impostando le dimensioni del tasto X 20px per 20px, metto al value di ogni tasto uguale rispettivamente a:

    "X"
    " X X"
    " X XX"
    " X XXX"
    " X XXXX"
    etc.

    in questo modo il value è diverso ogni volta, ma in tutti i casi mi viene visualizzata sul tasto una sola X centrata...

    ciao !

  7. #7
    non ho capito ma sono contento che hai risolto

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.