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

    problemino jquery

    ho un problemino jquery... o meglio nella temporizzazione...
    ho una funzione al cui interno attraverso $ajax mando in esecuzione uno script php (funzionante) il quale in caso di errore scrive in un opportuno div (funzionante). A questo punto per controllare se ho avuto l'errore faccio un
    if(document.getElementById('errore').innerHTML="")
    {codice caso: non ho errore}
    else{latro codice}

    il problema è che questo controllo viene eseguito prima che venga fisicamente scritto nel div e quindi mi considera sempre il caso non errore (anche se c'era).

    sono sicura sia questo l'errore perchè mettendo un allert prima del controllo funziona senza problemi... cosa posso fare??? grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    JQuery è tecnologia JavaScript.

    Sposto nel forum appropriato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    A) Non ci vedo nulla di jquery nel tuo codice;
    B) Se vuoi fare un controllo in js è ==
    codice:
    if(document.getElementById('errore').innerHTML=="")
    {codice caso: non ho errore}
    else{latro codice}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    LeleFT scusaaaaaaaaa!! mi spiace non ci avevo pensato

    cavicchiandrea: la parte jquery è prima... posto tutto il codice... puoi darci un'occhiata?


    questa è l'intera form (mi gestisce 2 casi... funziona tutti puoi concentrarti solo da $.ajax in poi
    codice:
    function Verifica(form)
    {
    	if(form.bottone.value=="Crea")
    	{
    		if(form.nome.value=="" || form.cognome.value=="" || form.pwd.value=="")
    		{
    		alert("Nome,cognome e password sono OBBLIGATORI!");
    		return false;
    		}
    		//i dati sono stati inseriti vediamo se sono corretti
    		var nome=form.nome.value;
    		var cognome=form.cognome.value;
    		//parametro i mi rende non + CaseSesitive
    		var pat=new RegExp (/^[a-z ]*$/i);
    		if(!pat.test(nome))
    			{
    				return selezione(form.nome,"nome", "e_nome");
    			}
    		if(!pat.test(cognome))
    			{
    				return selezione(form.cognome,"cognome","e_cog");
    			}
    	}
    	
    	//Mi occupo della parte comune alle 2 form
    	//Non posso aver NULL nei 2 campi obbligatori
    	if(form.mail.value == "" || form.cel.value == "")
    	{
    		alert("e-mail e cellulare sono OBBLIGATORI!");
    		return false;
    		
    	}
    	else
    	{
    		//Controllo la corettezza della mail
    		var email = form.mail.value;
    		var reg = new RegExp(/[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/);
    		if(!reg.test(email))
            	{
    				return selezione(form.mail,"e-mail","e_mail");
    			}
    		//inserisco il numero senza il 39 (ci pensa giu a metterlo)
    		var nc=form.cel.value;
    		reg=new RegExp (/^[0-9]{10}$/);
    		if (!reg.test(nc))
    		{
    			return selezione (form.cel,"cellulare","e_cell");
    		}
    		//preparo variabile per id utente(essenziale per modifica)
    		var id=form.id_u.value;
    		$.ajax({
    			type:"POST",
    			url: "checkUser.php",
    			data: "email="+email+"&cell="+nc+"&id_u="+id,
    			success:function(msg){
        			$("#errore").html(msg);}
    			});
    		//controllo la corettezza formale del fisso solo se presente
    		if (form.fis.value != "")
    		{ 
    			var nf=form.fis.value;
    			reg=new RegExp(/^[0-9]{9,10}$/);
    			if (!reg.test(nf))
    			{
    				return selezione (form.fis,"fisso","e_fiss");
    			}
    		}
    		//!!!!!!!!!!!QUI IL PROBLEMA DI TEMPORIZZARE!!!!!
    		if (document.getElementById('errore').innerHTML!="")	
    		return false;
    	//Tutti i dati sono giusti chiedo conferma
    	return confirm("Sei sicuro dei dati inseriti?");
    	}
    }
    Per completezza lo script chiamato (che fa il suo dovere)
    codice:
    <?php
    	$em=$_POST['email'];
    	$numt=$_POST['cell'];
    	$p=$_POST['id_u'];
    	//per comodità:funzionr per aprire la connessione al db (non persistente)
    	//ATTENTA QUANDO METTI CON GIULIO MODIFICA CON IL NOME DEFINITIVO DEL DB
    	$db=mysql_connect("localhost","gbb","gbbeg") or die ("Connection error:". mysql_error());
    	//Richiamo il database
    	mysql_select_db('gaslini band band',$db) or die (mysql_error($db));
    	//Controllo che non ci sia già un utente con la stessa mail
    	$query="SELECT utente_nome, utente_cognome, utente_mail, utente_id, utente_num_cel FROM utente WHERE (utente_mail='$em' OR utente_num_cel='$numt') AND utente_id!='$p'";
    	$result=mysql_query($query);
    	$row=mysql_fetch_array($result);
    	if(mysql_num_rows($result))
    	{
    			if($row['utente_mail']==$em)
    			echo "
    
    Esiste gi&agrave un utente, ". $row['utente_nome']. " ". $row['utente_cognome']. ", con questa e-mail (".$em.").
    Non posso procedere con l'inserimento.</p>";
    			else
    			echo "
    
    Esiste gi&agrave un utente, ". $row['utente_nome']. " ". $row['utente_cognome']. ", con questo numero di telefonino (".$numt.").
    Non posso procedere con l'inserimento.</p>";
    	}
    ?>

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prova cosi:
    codice:
    if (document.getElementById('errore').innerHTML.indexOf('Non posso procedere')!=-1)	{
    return false;
    	}else{//Tutti i dati sono giusti chiedo conferma
    	return confirm("Sei sicuro dei dati inseriti?");
    }

    P.S.
    A) la parola form è riservata js, meglio non utilizzarla per riferirsi agli oggetti form.
    B) Dal momento che usi jquery per ajax usalo anche per i controlli del form (oltre a sfruttare di più il framework che già carichi sei sicura di una sintassi cross-browser e debag[ata])
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    ho modificato form con myform, non dandomi problemi n on ci avevo pensato ma hai ragione, meglio un altro nome! =)

    purtroppo l'if così mi da lo stesso problema...

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da ni-chan89
    ...

    purtroppo l'if così mi da lo stesso problema...
    Prova a mettere una pagina online pubblica da testare
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    ok quando torno a casa lo faccio...

    grazie cmq per l'aiuto...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.