Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33

    Convertire codice asp in javascript

    Salve a tutti

    devo creare uno script in javascript, e per semplificare il tutto (non conoscnedo quasi nulla di js) ho pensato di cercare un codice asp (visto che in js non l'ho trovato) e trasformarlo in js.

    il codice è questo
    codice:
    <%@LANGUAGE = JScript%>
    <%
    	/*
    		Autore: Luca Ruggiero - http://www.lukeonweb.net
    		Fonte:  FreeASP       - http://freeasp.html.it
    	*/
    	var oggi = new Date();
    	var gg, mm, segno;
    	gg = oggi.getDate();
    	mm = oggi.getMonth() + 1;
    	switch (mm)
    	{
    		case 1:
    			segno = "capricorno";
    			if (gg > 20) segno = "acquario";
    			break;
    		case 2:
    			segno = "acquario";
    			if (gg > 19) segno = "pesci";
    			break;
    		case 3:
    			segno = "pesci";
    			if (gg > 20) segno = "ariete";
    			break;
    		case 4:
    			segno = "ariete";
    			if (gg > 20) segno = "toro";
    			break;
    		case 5:
    			segno = "toro";
    			if (gg > 20) segno = "gemelli";
    			break;
    		case 6:
    			segno = "gemelli";
    			if (gg > 21) segno = "cancro";
    			break;
    		case 7:
    			segno = "cancro";
    			if (gg > 22) segno = "leone";
    			break;
    		case 8:
    			segno = "leone";
    			if (gg > 22) segno = "vergine";
    			break;
    		case 9:
    			segno = "vergine";
    			if (gg > 23) segno = "bilancia";
    			break;
    		case 10:
    			segno = "bilancia";
    			if (gg > 22) segno = "scorpione";
    			break;
    		case 11:
    			segno = "scorpione";
    			if (gg > 22) segno = "sagittario";
    			break;
    		case 12:
    			segno = "sagittario";
    			if (gg > 21) segno = "capricorno";
    			break;
    	}
    %>
    <html>
    	<head>
    		<title>luke Zodiaco - A cura di Luca Ruggiero</title>
    		<basefont size="2" face="Verdana">
    	</head>
    <body>
    
    <p align="center">
    	Segno del giorno
    
    
    	[img]immagini/<%=segno%>.gif[/img]" style="border: Solid 1px #CCCCCC;">
    	
    
    
    	Auguri ai nati sotto il segno del <%=segno%>
    	
    
    
    	<font size="1">
    		A cura di
    		lukeonweb.net
    	</font>
    </p>
    
    </body>
    </html>
    l'ho modificato a modo mio con quel poco che sapevo e ne è uscito fuori questo (che so che è errato)

    codice:
    <SCRIPT type="text/javascript">
    function segno() 
    var oggi = new Date();
    	var gg, mm, segno;
    	gg = oggi.getDate();
    	mm = oggi.getMonth() + 1;
    	switch (mm)
    	{
    new Array('capricorno','acquario','pesci','ariete','toro','gemelli','cancro','leone','vergine','bilancia','scorpione','sagittario');
            case 1:
    			segno = "capricorno";
    			if (gg > 20) segno = "acquario";
    			break;
    		case 2:
    			segno = "acquario";
    			if (gg > 19) segno = "pesci";
    			break;
    		case 3:
    			segno = "pesci";
    			if (gg > 20) segno = "ariete";
    			break;
    		case 4:
    			segno = "ariete";
    			if (gg > 20) segno = "toro";
    			break;
    		case 5:
    			segno = "toro";
    			if (gg > 20) segno = "gemelli";
    			break;
    		case 6:
    			segno = "gemelli";
    			if (gg > 21) segno = "cancro";
    			break;
    		case 7:
    			segno = "cancro";
    			if (gg > 22) segno = "leone";
    			break;
    		case 8:
    			segno = "leone";
    			if (gg > 22) segno = "vergine";
    			break;
    		case 9:
    			segno = "vergine";
    			if (gg > 23) segno = "bilancia";
    			break;
    		case 10:
    			segno = "bilancia";
    			if (gg > 22) segno = "scorpione";
    			break;
    		case 11:
    			segno = "scorpione";
    			if (gg > 22) segno = "sagittario";
    			break;
    		case 12:
    			segno = "sagittario";
    			if (gg > 21) segno = "capricorno";
    			break;
    			document.write('<p style="color: green; font-weight : bold;"> ' + now.getDate() + " " + nameMth[now.getMonth()] + " " + case+'</p>');
    	}
    </script>
    
    </head>
    <body>
    Segno del mese
    
    
    	<script type="text/javascript">segno(); </script>
    </body>
    </html>
    ma ovviamente non funziona.

    Mi date qualche dritta per modificarlo a dovere perfavore?

    Grazie a tutti dell'attenzione

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: Convertire codice asp in javascript

    codice:
    <SCRIPT type="text/javascript">
    var oggi = new Date();
    var gg, mm, segno;
    gg = oggi.getDate();
    mm = oggi.getMonth();
    var segni = new Array('capricorno','acquario','pesci','ariete','toro','gemelli','cancro','leone','vergine','bilancia','scorpione','sagittario');
    var indice = mm;
    if (mm=0&&gg>20) indice++;
    if (mm=1&&gg>19) indice++;
    if (mm=2&&gg>20) indice++;
    if (mm=3&&gg>20) indice++;
    if (mm=4&&gg>20) indice++;
    if (mm=5&&gg>21) indice++;
    if (mm=6&&gg>22) indice++;
    if (mm=7&&gg>22) indice++;
    if (mm=8&&gg>23) indice++;
    if (mm=9&&gg>22) indice++;
    if (mm=10&&gg>22) indice++;
    if (mm=11&&gg>21) indice=0;
    segno = segni[indice]
    </script>
    
    </head>
    <body>
    Segno del giorno
    
    
    <script>
    document.write("<img src=\"immagini/"+segno+".gif\"  alt=\"Auguri ai nati sotto il segno del "+segno+"\" style=\"border: Solid 1px #CCCCCC;\">");
    </script>
    
    
    
    	Auguri ai nati sotto il segno del <script>document.write(segno");</script>
    Nota che nel caso dell'immagine ij javascript deve generare l'intero tag, nel secondo caso e' sufficiente fargli scrivere solo la porzione di testo.

    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33
    grazie di cuore

    ho provato a modificare anche questo codice
    codice:
    <%
    
    ' Copyright 2000 ASPItalia.com
    ' http://www.aspitalia.com
    
    santo = array( _
    "S. Maria di Dio,SS.               " , _
    "Basilio e Gregorio                " , _
    "S. Genoveffa vergine              " , _
    "B. Angela da Foligno              " , _
    "S. Simeone stilita                " , _
    "Epifania di N.S.G.C.              " , _
    "S. Raimondo di Penyafort          " , _
    "S. Massimo vescovo                " , _
    "S. Marcello martire               " , _
    "S. Silvesto papa")
    ' L'array santo() va da 0 a (12 * 31 - 1)
    
    oggi = 31 * (month(now) - 1) + day(now) - 1
    
    response.write day(now) & "/" & month(now) & "/" & year(now) & " - " & trim(santo(oggi))
    
    %></body></html>
    così
    codice:
    <script language="javascript">
    var oggi = new Date();
    var gg, mm, santo;
    gg = oggi.getDate();
    mm = oggi.getMonth();
    var santo = new  Array('S. Maria di Dio,SS.','S. Maria di Dio,SS.','S. Genoveffa vergine','B. Angela da Foligno','S. Simeone stilita','Epifania di N.S.G.C.','S. Massimo vescovo','S. Marcello martire ','S. Silvesto papa');
    var oggi = 31 * (month(now) - 1) + day(now) - 1
    document.write day(now) + "/" + month(now) + "/" + (santo(oggi))
    </script>
    </head>
    
    <body>
    Santo del giorno
    
    
    
    
    
    
    	 <script>document.write day(now) + "/" + month(now) + "/" + (santo(oggi))</script>
    	</body>
    </html>
    ma ovviamente non funziona.

    avete delle dritte da darmi perfavore?

    grazie dell'attenzione

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi usare le funzioni vbscript come se fossero metodi javascript... forse dovresti masticare un pochino di teoria

    Tralasciando l'opportunita' di spedire sempre e comunque 366 santi al browser , dal punto di vista prettamente teorico potresti risolvere cosi':
    codice:
    <script>
    var santo = new Array( 
    "S. Maria di Dio,SS.               " , 
    "Basilio e Gregorio                " , 
    "S. Genoveffa vergine              " , 
    "B. Angela da Foligno              " , 
    "S. Simeone stilita                " , 
    "Epifania di N.S.G.C.              " , 
    "S. Raimondo di Penyafort          " , 
    "S. Massimo vescovo                " , 
    "S. Marcello martire               " , 
    "S. Silvesto papa"); // ECCETERA................... 
    // ma ricordati di lasciare i buchi per i mesi non di 31 giorni
    
    oggi = new Date();
    indice = oggi.getMonth()*31+oggi.getDate()-1;
    </script>
    </head>
    <body>
    Santo del giorno
    
    
    
    
    
    
    	 <script>document.write(oggi.getDate() + "/" + (oggi.getMonth()+1) + " - " + santo[indice]);</script>
    </body>
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33
    Originariamente inviato da br1
    Non puoi usare le funzioni vbscript come se fossero metodi javascript... forse dovresti masticare un pochino di teoria
    si, me ne rendo conto, ci stavo pensando

    // ma ricordati di lasciare i buchi per i mesi non di 31 giorni
    ehm, cioè? :master:




    grazie, sei un tesoro

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Janet
    ehm, cioè? :master:
    L'indice viene calcolato assumendo che tutti i mesi siano di 31 giorni... questo espediente consente di assegnare correttamente il santo al giusto giorno anche negli anni bisestili, ma genera delle "false" posizioni nell'array... per esempio il 31 febbraio

    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33
    ah si, perfetto: nel codice originale in asp era già tutto previsto.
    ho prevveduto a modificarlo a dovere anche io e adesso coincide perfettamente.


    ti ringrazio ancora di cuore



    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33
    scusate se riesumo il 3d, ma lo script del segno zodiacale ha iniziato a dare i numeri, ed è saltato al penultimo segno :master:

    lo script è questo:

    codice:
    var oggi = new Date();
    var gg, mm, segno;
    gg = oggi.getDate();
    mm = oggi.getMonth();
    var segni = new  Array('Capricorno','Acquario','Pesci','Ariete','Toro','Gemelli','Cancro','Leone','Vergine','Bilancia','Scorpione','Sagittario');
    var indice = mm;
    if (mm=0&&gg>20) indice++;
    if (mm=1&&gg>19) indice++;
    if (mm=2&&gg>20) indice++;
    if (mm=3&&gg>20) indice++;
    if (mm=4&&gg>20) indice++;
    if (mm=5&&gg>21) indice++;
    if (mm=6&&gg>22) indice++;
    if (mm=7&&gg>22) indice++;
    if (mm=8&&gg>23) indice++;
    if (mm=9&&gg>22) indice++;
    if (mm=10&&gg>22) indice++;
    if (mm=11&&gg>21) indice=0;
    segno = segni[indice]
    document.write(segno + "<img src=\"../images/segni/"+segno+".gif\">");
    Voi che siete esperti mi potete dire gentilmente dov'è il baco??

    Grazie dell'attenzione

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho analizzato lo scritto, ma ho trovato un baco (ritengo):

    if (mm=0&&gg>20) indice++;
    traduzione:
    assegna 0 alla variabile mm
    poi fa l'AND tra il valore 0 cosi` ottenuto e la condizione gg>20

    Forse ha piu` senso:
    if (mm==0 && gg>20) indice++;

    (metticeli un po' di spazi: scrivere codice facilmente capibile da noi umani riduce la probabilita` di errori).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    33
    grazie per la dritta, ma non cambia nulla, anzi, stamattina è saltato al primo segno

    ho provato anche ad assegnare 1-2-3 e così via a seconda dei mesi, al fine di non farlo partire da 0, ma non cambia nulla.

    avete idea di cosa sia potuto succedere??



    grazie dell'attenzione

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.