Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: controllo form

  1. #1

    controllo form

    Salve signori, avrei bisogno di verificare che nel form "Km_entrata" non venga inserito un valore minore a quello presente nel form "km_uscita", puntualizzo che il valore visualizato nel form viene estrapolato da database mysql eccovi un esempio:

    codice:
    <td style='font size:14pt'>KM USCITA</td>
    	  <td style='font size:14pt'><input type='text' name='km_out' size=50 maxlength=40 alt='km_out' align='left' value=\"$km_out\"</td><tr>
    	  <td style='font size:14pt'>KM ENTRATA</td>
    	  <td style='font size:14pt'><input type='text' name='km_in' onkeyup=soloN(this) onblur=soloN(this) size=50 maxlength=40 alt='km_in' align='left' value=\"$km_in\"</td><tr>
    Come potete notare nel form KM ENTRATA, ho già inserito dei controlli per far si che vengano inseriti solo numeri, ora mi interessa che il valore che si va ad inserire, non sia ne minore, ne uguale ma solo maggiore al valore presente nel form KM USCITA.

    Come si può fare?
    Grazie anticipatamente a tutti coloro che mi daranno una mano!
    By GeddY_LeE

  2. #2
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    431
    Ciao puoi fare questo con questo codice

    codice:
    function testKm(){
    km_ent=document.getElementsByName("km_in").value;
    km_usc=document.getElementsByName("km_out").value;
    
    if (km_ent<=km_usc){
    alert("Inserisci un numero maggiore di "+km_usc);
    }
    }
    Da un grande potere derivano grandi responsabilità

  3. #3
    Ho cercato di ibnserire la funzione nel seguente modo,
    codice:
    	  
    <head>
      <link href=stili.css type=text/css rel=stylesheet></link>
      <title>Entrata</title>
      <script type="text/javascript"> 
    function testkm(){
    			$km_in=document.getElementsByName("$km_in").value;
    			$km_out=document.getElementsByName("$km_out").value;
    						if ($km_in<$km_out){
    			alert("Inserisci un numero maggiore di "$km_out); }}
    </script>
    </head>
    <body>
    <td style='font size:14pt'>KM ENTRATA</td>
    	  <td style='font size:14pt'><input type='text' name='km_in' onkeyup=soloN(this) onblur=soloN(this) onsubmit=testkm() size=50 maxlength=40 alt='km_in' align='left' value=\"$km_in\"</td><tr>
    ...
    Ma i dati mi vengono inseriti ugualmente nel DB MySQL e il controllo non avviene, vorrei che non mi facesse partire proprio la query, come nota l'errore mi deve uscire la message box...
    cosa potrebbe essere?
    By GeddY_LeE

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ci sono diveri errori:
    $km_out e $km_out non esistono (non mescolare php $ col javascript) meglio usare id al posto del name gli input text non mi sembra (non sono certo di questo) dispongano dell'evento onsubmit manca il tag form
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    dimenticavo, la query parte alla pressione del bottone: Invia, per la quale ho usato un submit:

    codice:
    <td><input name='invia' type='submit' align=\'center\' value='Invia' onclick='testkm()'[/b]/></td></tr>
    By GeddY_LeE

  6. #6
    Ho modificato cos'ì:
    codice:
     <script type="text/javascript">
    	  function testkm(){
    			km_in=document.getElementsById("km_in").value;
    			km_out=document.getElementsById("km_out").value;
    						if (km_in<km_out){
    			alert("ATTENZIONE! Inserire Kilometraggio maggiore di ("km_out")); }}
      </script>
    
    <td style='font size:14pt'>KM ENTRATA</td>
    	  <td style='font size:14pt'><input type='text' name='km_in' onkeyup=soloN(this) onblur=soloN(this) size=50 maxlength=40 alt='km_in' align='left' value=\"$km_in\"</td><tr>
    
    <input name='invia' type='submit' align=\'center\' value='Invia' onclick='testkm()'/>
    Ma sembra non fungere ancora... :S nn riesco a capire cosa sbaglio :O
    By GeddY_LeE

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non e' possibile bloccare l'invio del form gestendo l'evento onclick sul pulsante submit: il form parte sempre e comunque vadano i controlli.

    Usa l'evento onsubmit del form e fai restituire false nel caso i controlli non siano soddisfatti.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    431
    ciao prova a mettere l'evento onsubmit nel form (dato che hai un pulsante submit immagino che tu abbia un form)

    codice:
    <form action="pagina.php" method="get" onsubmit="testkm()">
    poi devi aggiungere dopo l'alert
    codice:
    return false;
    in modo che non ti faccia inviare i dati se non sono corretti.
    Da un grande potere derivano grandi responsabilità

  9. #9
    ho rimodificato in questa maniera, secondo i vostri consigli:
    codice:
    <head>
      <script type="text/javascript">
    	  function testkm(){
    			km_in=document.getElementsById("km_in").value;
    			km_out=document.getElementsById("km_out").value;
    						if (km_in<km_out){
    			alert("ATTENZIONE! Inserire Kilometraggio maggiore di ("km_out"));  
    return false;}}
      </script>
    </head> 
    
    <?php
    echo "  
          <form action=\"test2.php?id=$id\" method=\"post\" onsubmit=\"testkm()\">  
    	  <td style='font size:14pt'>KM ENTRATA</td>
    	  <td style='font size:14pt'><input type='text' name='km_in' onkeyup=soloN(this) onblur=soloN(this) size=50 	   maxlength=40 alt='km_in' align='left' value=\"$km_in\"</td><tr>
    ?> 
    
    <td><input name='invia' type='submit' align=\'center\' value='Invia'/></td></tr>
    	 </form>
    Ma continua a inserire dati non eseguendo alcun controllo...
    By GeddY_LeE

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    onsubmit="return testkm()"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.