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

    campi obbligatori senza compilazione

    Ciao a tutti
    in un sito che ho appena finito c'è una parte di inserimento dati con tutti i campi obbligatori; il problema è che se compilo anche un solo campo mi esce la finestrella con avviso di compilare anche gli altri, ma se non compilo niente e clicco su invio modulo, questo parte senza nessun messaggio...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Forse se mettessi un po' di codice .... ci eviteresti la necessita` di ricorrere alla chiaroveggenza (io personalmente non sono molto ferrato in questa materia).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ...hai ragione, eccolo

    <%@ Language=VBSCRIPT %>
    <% Option Explicit %>
    <%
    dim posta
    dim corpomess
    corpomess = "FORM CONTATTI - www.mediacentro.com" & chr(13) & chr(10)
    corpomess = corpomess & "nome : " & request.form("msg_nome") & chr(13) & chr(10)
    corpomess = corpomess & "cognome : " & request.form("msg_cognome") & chr(13) & chr(10)
    corpomess = corpomess & "azienda : " & request.form("msg_azienda") & chr(13) & chr(10)
    corpomess = corpomess & "indirizzo : " & request.form("msg_indirizzo") & chr(13) & chr(10)
    corpomess = corpomess & "citta : " & request.form("msg_citta") & chr(13) & chr(10)
    corpomess = corpomess & "cap : " & request.form("msg_cap") & chr(13) & chr(10)
    corpomess = corpomess & "prov : " & request.form("msg_prov") & chr(13) & chr(10)
    corpomess = corpomess & "telefono : " & request.form("msg_telefono") & chr(13) & chr(10)
    corpomess = corpomess & "fax : " & request.form("msg_fax") & chr(13) & chr(10)
    corpomess = corpomess & "email : " & request.form("msg_email") & chr(13) & chr(10)
    corpomess = corpomess & "partita IVA : " & request.form("msg_iva") & chr(13) & chr(10)
    set posta = server.createobject("CDONTS.newmail")
    posta.From = "alberto@mediacentro.com"
    posta.to = "alberto@mediacentro.com"
    posta.subject = "Form Contattaci - www.mediacentro.com"
    posta.bodyformat = 1
    posta.mailformat = 1
    posta.body = corpomess
    posta.importance = 1
    posta.send
    set posta = nothing
    response.redirect "thanks_help.html"
    %>

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo e` scripting lato server.
    Ti sposto in ASP.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5

    Io faccio così (e funziona)

    Nel mio sito molto semplice (e senza le finestrelle che dici te) faccio un controllo sui campi in questo modo, ho una pagina tra la form di inserimento e l'asp che scrive nel db (3 pagine in tutto):
    codice:
    <%
    cognome = UCASE(request.form("COGNOME"))
    nome = UCASE(request.form("NOME"))
    nome = cognome & " " & nome
    indirizzo= UCASE(request.form("INDIR"))
    telefono= request.form("TEL")
    cell = request.form("CELL")
    Ordine = request.form("ORDINE")
    dal =request.form("DAL")
    al = request.form("AL")
    special = request.form("SPECIAL") 
    if nome <> "" then nome = LTrim(Nome) 'elimina gli spazi prima del nome
    if indirizzo <> "" then indirizzo = Ltrim(indirizzo)
    
    if nome = " " then response.write "Il campo NOME è obbligatorio." & "
    "
    if indirizzo= "" then response.write "Devi inserire un INDIRIZZO." & "
    "
    if telefono= "" then response.write "Devi inserire un TELEFONO." & "
    "
    if cell = "" then response.write "Devi inserire un CELLULARE." & "
    "
    'Effettua un controllo sulla lunghezza dei campi telefono e cellulare
    if len(telefono) > 25 then 
    	response.write "<font face=""Tahoma"" size=""2"">"
    	response.write "Hai inserito un numero di TELEFONO troppo lungo." & "
    "
    	flag = 1
    	response.write "</font>"
    end if
    if len(cell) > 25 then 
    	response.write "<font face=""Tahoma"" size=""2"">"
    	response.write "Hai inserito un numero di CELLULARE troppo lungo." & "
    "
    	flag = 1
    	response.write "</font>"
    end if
    %>
    e poi ci faccio un controllo pure dopo:
    codice:
    <%if flag = 0 then
     if nome <> "" then
    	if indirizzo <> "" then
    		if telefono <> "" then
     		 	if cell <> "" then
    					if IsNumeric(ordine) = true then
    						'imposta un recordset
    						Set RS = Server.CreateObject("ADODB.Recordset") 
    						'apre la tabella reperibili
    						sql = "SELECT * from contatti;"
    						RS.Open sql, CNT, 3,2 
    %>
    penso che lo potresti mettere prima di mostrare la finestrella!

  6. #6
    questo controllo lo fai solo se il form viene inviato?
    cioè mi voglio dire, hai messo prima del controllo un
    if nomeform <> "" then
    e fai i controlli

    ???

    altrimenti te lo fa sì ogni volta...
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  7. #7
    Ehi Mariano grazie per il codice,
    ma quindi la pagina form d'inserimento con tutti i campi la devo collegare non più alla pagina ASP con il codice che vi ho copiato ma alla tua con il codice di controllo?

    e poi l'ultimo pezzo (<%if flag = 0 then...) dove lo metto?

  8. #8
    In pratica sono 2 pagine quella col form (dove l'utente può inserire quello che vuole) una seconda che mi verifica le informazioni e una volta che i miei controlli si sono rivelati corretti scrivo le info nel DB!
    Sulla prima pagina (form) ho pochissimo codice, è tutto sulla seconda (scrittura). Ho una variabile flag (la posso utilizzare anche per altri controlli) che la uso per i telefoni, quando sono troppo lunghi da 0 passa ad 1 e la pagina visualizza un messaggio di errore e non scrive nulla nel DB.
    Vi posto il codice, se ci sono dubbi sono qui:


    codice:
    'Controlla che i campi siano validi (quindi NON  vuoti)
    if flag = 0 then
     if nome <> "" then
    	if indirizzo <> "" then
    		if telefono <> "" then
     		 	if cell <> "" then
    					if IsNumeric(ordine) = true then
    						'imposta un recordset
    						Set RS = Server.CreateObject("ADODB.Recordset") 
    						'apre la tabella 
    						sql = "SELECT * from contatti;"
    						RS.Open sql, CONT, 3,2 
    	
    						rs.addnew
     						 rs("Nome") = nome 
    						 rs("Indirizzo") = indirizzo
    						 'la qualifica può essere campo vuoto
    						 qualifica = request.form("QUAL")
    						 if qualifica <> "" then 
    			  			rs("Qualifica") = qualifica
    							 end if
    						 rs("Telefono") = telefono
    						 rs("Cellulare") = cell 
    						if Ordine <> 999 then rs("Ordine") = Ordine 
    						if dal <> "" then 
    										 rs("DAL")= (dal)	
    						end if
    						if al <> "" then
          									 rs("AL") = (request.form("AL"))
    							end if
    
    						rs.update
    						rs.close
    						Set RS = Nothing
    						set CONT= Nothing
    						
    						response.write "<font face=""Tahoma"" size=""2"">"
    						response.write "Inserimento di " & nome & " è stato eseguito con successo."
    						response.write "
    </br>"
    						response.write ("IMPORTANTE: clicca su uno dei tre link sottostanti per proseguire. NON su indietro!")
    				
    						response.write "</font>"
    					end if
    				 	end if
    			 end if
    		end if
    	end if
    end if
    end function
    %>
    Questo pezzo l'ho messo dopo i vari controlli, scrive nel DB.

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.