Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Controllo su campo dinamico.. non funziona :(

    ciao, devo controllare che il campo non sia vuoto e che non contenga una stringa.. ma un numero.. Siccome questo campo si ripeterà tante volte per quanti record vengono mesi in output da database, allora ho dovuto fare un ciclo all'interno della funzione, ma non ne vuole sapere di funzionare
    Ecco la funzione:
    codice:
    <script language="javascript">
    function controllaqta(f){
    var e=f.elements;
    for (var i=0; i<e.length; i++)
     if (e[i].type=="text" && (e[i].value=="" || isNaN(e[i].value))){
      alert("Inserire un valore nel campo "+e[i].name+".");
      return false;
     }
    return true;
    }
    </script>
    codice:
          <form action="carrello.asp" method="post" name="f" id="f" onsubmit="return controllaqta(this);">
            <input name="fieldqta" type="text" id="fieldqta" size="2">
     	    <input type="hidden" value="<%=rsviewprod("idprod")%>" name="cmpidprod" />
    	  </form>
    e faccio il submit del fom tramite un link su una immagine:
    Come mai mi esce fuori questo errore
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    up
    Voglio l'alt+s anche per FF

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    La risposta è molto semplice. Se vai in debug o se metti un alert nella funzione, ti accorgi che la funzione non viene mai richiamata. Questo perchè l'evento onsubmit del form, viene scatenato solo da un pulsante di submit ma non dall'azione document.form.submit();

    La correzione pertanto è semplice:

    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="b.aspx.vb" Inherits="corso_apogeo.b2"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>b</title>
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    		<script language="javascript">
    function controllaqta(f)
    {
    	var e=f.elements;
    	for (var i=0; i<e.length; i++)
    		if (e[i].type=="text" && (e[i].value=="" || isNaN(e[i].value)))
    		{
    			alert("Inserire un valore nel campo "+e[i].name+".");
    			return;
    		}
    	f.submit();
    }
    		</script>
    	</head>
    	<body MS_POSITIONING="FlowLayout">
    		<form action="a.aspx" method="post" name="f" id="f" onsubmit="return controllaqta(this);">
    			<input name="fieldqta" type="text" id="fieldqta" size="2">
    			
    
    			<input name="fieldqta1" type="text" id="fieldqta1" size="2">
    			
    
    			<input type="hidden" value="" name="cmpidprod" />
    		</form>
    		<a href="#" onClick="controllaqta(document.f); return false;" title="Aggiungi al carrello">
    			[img]add_carrello.gif[/img]
    		</a>
    	</body>
    </html>
    Pietro

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    grazie mille..
    ho un altro problema però.. io praticamente non sò quanti campi di testo verranno a crearsi nella pagina perchè si creano dinamicamente.. cioè secondo l'output dal database..
    ora se ho + campi di testo con lo stesso nome.. come faccio a capire che è proprio quel campo di testo che voglio controllare?
    Questo è il codice che ho:
    codice:
    <script language="javascript">
    function controllaqta(f)
    {
    var e=f.elements;
    for(var i=0;i<e.length;i++) {
    if (e[i].type=="text") {
     if (e[i].value=="") {
      alert("Inserire un valore nel campo");
      return false;
     }
     if (isNaN(e[i].value)) {
      alert("Inserire un valore numerico");
      return false;
     }
     if (parseInt(e[i].value)<f.cmpminorder.value) {
      alert("ciccio");
      return false;
     }
    }
    }
    f.submit();
    }
    </script>
    Voglio l'alt+s anche per FF

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Senti, adesso non ho codice a portata di mano. Ti dico come farei io: se ti convince, prova ad implementare te (ho visto che ci riesci, dopotutto )

    Io farei la scansione di tutti i controlli. Se un controllo non supera il controllo di validità, renderei visibile un asterisco rosso al fianco del controllo con un title significativo (un poco come fa asp.net). Poi, durante la scansione, mi valorizzerei una variabile messaggio.
    Alla fine del ciclo, se la variabile messaggio è vuota, nessun errore e submit, altrimenti, alert messaggio, no submit e visualizzazione asterisco rosso al fianco dei controlli.

    In un caso reale avevo una griglia di textbox ed ho scelto di colorare di celeste tutti i textbox che non superavano il controllo di validità, e la cosa, credo proprio che funzionasse.

    Ciao


    Un'ultima cosa. Se, come credo, lavori con Asp.Net, non puoi crearti dinamicamente anche i controlli di validità? :master:
    Pietro

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da pietro09
    Senti, adesso non ho codice a portata di mano. Ti dico come farei io: se ti convince, prova ad implementare te (ho visto che ci riesci, dopotutto )

    Io farei la scansione di tutti i controlli. Se un controllo non supera il controllo di validità, renderei visibile un asterisco rosso al fianco del controllo con un title significativo (un poco come fa asp.net). Poi, durante la scansione, mi valorizzerei una variabile messaggio.
    Alla fine del ciclo, se la variabile messaggio è vuota, nessun errore e submit, altrimenti, alert messaggio, no submit e visualizzazione asterisco rosso al fianco dei controlli.

    In un caso reale avevo una griglia di textbox ed ho scelto di colorare di celeste tutti i textbox che non superavano il controllo di validità, e la cosa, credo proprio che funzionasse.

    Ciao


    Un'ultima cosa. Se, come credo, lavori con Asp.Net, non puoi crearti dinamicamente anche i controlli di validità? :master:
    Grazie mille davvero ho risolto..
    ahhh asp.net, l'ho riabbandoonato perchè non riesco a capire come cavolo funzionano i dataset tipizati o meno
    Voglio l'alt+s anche per FF

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da dops
    Grazie mille davvero ho risolto..
    ahhh asp.net, l'ho riabbandoonato perchè non riesco a capire come cavolo funzionano i dataset tipizati o meno

    Questo mi ricorda un tizio (si chiama Pietro) che ha iniziato e riabbandonato lo studio di un libro su c++. Dopo anni ha scoperto che il problema non era il c++ ma il libro, sai, uno di quei libri che capiscono solo chi è molto dentro la materia. :maLOL:

    Ciao
    Pietro

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da pietro09
    Questo mi ricorda un tizio (si chiama Pietro) che ha iniziato e riabbandonato lo studio di un libro su c++. Dopo anni ha scoperto che il problema non era il c++ ma il libro, sai, uno di quei libri che capiscono solo chi è molto dentro la materia. :maLOL:

    Ciao
    la sai una cosa? mi sà che hai ragione.. e ci hai azzaccato pienamente.. ho iniziato con PROGRAMMARE ASP.NET di Dino Esposito.. non sò se hai presente di quale mattone stò parlando.. Bravissimo per l'amor di Dio, ma cavolo di un prolisso che non ci si capisce niente arrivati ad un certo punto.. ma fammi capire hai qualche libro da consigliarmi?
    Voglio l'alt+s anche per FF

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da dops
    la sai una cosa? mi sà che hai ragione.. e ci hai azzaccato pienamente.. ho iniziato con PROGRAMMARE ASP.NET di Dino Esposito.. non sò se hai presente di quale mattone stò parlando.. Bravissimo per l'amor di Dio, ma cavolo di un prolisso che non ci si capisce niente arrivati ad un certo punto.. ma fammi capire hai qualche libro da consigliarmi?
    io uso parlo e penso in basic mentre il c# lo leggo un poco

    Il migliore libro che ho trovato è quello di Francesco Balena, Programmare Microsoft VisualBasic.Net. L'unico suo difetto è che ce ne vorrebbero almeno tre per perchè l'argomento è troppo vasto per un volume solo.
    Il libro di Dino Esposito, buono, per carità, ce l'ho sulla scrivania, ma ho notato che non lo uso. E' un po' troppo prolisso, per i miei gusti.
    Se lo apri a caso, è molto probabile che trovi un capitolo di parole, parole, parole.... e parole. Se apri il libro di FB, è probabile che trovi codice, codice e anche codice, commentato bene, in cui la pratica di confonde bene con la teoria, capisci le classi, gli eventi. Certo, non si sofferma molto sul DataGrid, non progetta classi in c# sofisticatissime solo per dare il focus ad un textbox e, dulcis in fundo, ha un rispetto reverenziale per il c#.

    Pietro

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da pietro09
    io uso parlo e penso in basic mentre il c# lo leggo un poco

    Il migliore libro che ho trovato è quello di Francesco Balena, Programmare Microsoft VisualBasic.Net. L'unico suo difetto è che ce ne vorrebbero almeno tre per perchè l'argomento è troppo vasto per un volume solo.
    Il libro di Dino Esposito, buono, per carità, ce l'ho sulla scrivania, ma ho notato che non lo uso. E' un po' troppo prolisso, per i miei gusti.
    Se lo apri a caso, è molto probabile che trovi un capitolo di parole, parole, parole.... e parole. Se apri il libro di FB, è probabile che trovi codice, codice e anche codice, commentato bene, in cui la pratica di confonde bene con la teoria, capisci le classi, gli eventi. Certo, non si sofferma molto sul DataGrid, non progetta classi in c# sofisticatissime solo per dare il focus ad un textbox e, dulcis in fundo, ha un rispetto reverenziale per il c#.

    Bhè sì.. si tutto
    E che cacchio allora chi usa c# è limitato?
    Voglio l'alt+s anche per FF

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.