Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    problemi Firebird 0.7 e controllo data via js

    Ciao, ho un problema con questo script, trovato qua.
    Con IE funziona, con Mozilla Firebird no. Suggerimenti??

    codice:
    <script>
    function isDate(str) { 
    	spz = str.split("/"); 
    	dat = new Date(spz[2], spz[1]-1, spz[0]); 
    	if	( 
    		dat.getFullYear() == parseFloat(spz[2]) &&
    		dat.getMonth() == (parseFloat(spz[1])-1) &&
    		dat.getDate() == parseFloat(spz[0]) 
    		) {
    			return dat;
    	}
    	return false;
    } 
    
    function testD(obj) {
    	obj.style.background='white'
    	RE = /[^\d^/^\-^\.]/gi
    	obj.value=obj.value.replace(RE,"");
    	RE = /[\-\.]/gi
    	obj.value=obj.value.replace(RE,"/");
    	d = isDate(obj.value);
    	if (!d && obj.value != "") {
    		alert("Formato Data Errata")
    		obj.style.background='yellow'
    		obj.focus()
    		return false
    	}
    	if (d > (new Date())) {
    		alert("Data Troppo Grande")
    		obj.style.background='red'
    		obj.focus()
    	}
    }
    </script>
    <input type=text name=giorno value='' onblur='testD(this)' size=12>
    think simple think ringo

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ciao, cambia questa
    RE = /[^\d^/^\-^\.]/gi
    in questa
    RE = /[^\d\/\-\.]/gi

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    grazie, ora provo...
    think simple think ringo

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    anche con questa funziona IE funziona, e Firebird no...
    qual'è il problema di questo browser??

    codice:
    function verifica(){	
    inp=document.modulo.data.value;		
    re = /^[0-3]{1}[0-9]{1}[/]{1}[0-1]{1}[0-9]{1}[/]{1}[0]{1}[4-5]{1}/;
    	if (re.test(inp) == true){
    		gg=inp.substring(0,2)
    		mm=inp.substring(3,5)
    		if (((gg > 0) & (gg < 32)) & ((mm > 0) & (mm < 13)))
    			return true;
    		else {
    			alert(\"DATA NON CORRETTA\");
    			return false;
    		}
    	} 
    	if (re.test(inp) == false){
    		alert(\"DATA INSERITA NON CORRETTA, FORMATO DA USARE: 'gg/mm/aa'\");
    		return false;
    	}
    }
    think simple think ringo

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il fatto che tu anteponi il carattere di escape \ alle virgolette dove non dovrebbero esseci) mi fa pensare che utilizzi un linguaggio lato server... verifica cio' che riceve il browser:

    alert(\"DATA NON CORRETTA\");

    ciao
    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

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    mmm, ho copiato la funzione dalla pagina php dove faccio il controllo, cmq avevo provato a toglierlo ma la situazione non cambiava...
    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    è strano, con mozilla l' errore segnalato era quello che ti ho riportato nella mia prima risposta
    firebird non ce l' ho installato ma è pressochè uguale a mozilla

    cerca di vedere la javascript consolle (che in moz è sotto tools -> web development -> javascript console) che errore riporta

    ciao

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    qst sn gli errori ke la js console riporta:

    codice:
    Error: unterminated character class [
    Source File: file:///C:/Documents%20and%20Settings/Marko/Desktop/test.htm
    Line: 16, Column: 5
    Source Code:
    re = /[0-3]{1}[0-9]{1}[/]{1}[0-1]{1}[0-9]{1}[/]{1}[0]{1}[4-5]{1}/;
    
    
    Error: uncaught exception: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: chrome://cookie/content/cookieTasksOverlay.xul :: CookieTasksStartup :: line 84"  data: no]
    think simple think ringo

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ah, vedo ora che è un' altro script!
    l' errore (oltre a quello segnalato da Bruno) è sempre lo stesso
    slash senza premettere backslash

    re = /^[0-3]{1}[0-9]{1}[\/]{1}[0-1]{1}[0-9]{1}[\/]{1}[0]{1}[4-5]{1}$/;

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ...ma quante ne sapete!!!
    think simple think ringo

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.