Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Strano funzionamento di una classe javascript con ASP.NET

    dupplico questa domanda nel forum html, perchè non so proprio quale sia il forum giusto

    Allora, ho una certa classe fatta in javascript. Collaudo in una pagina asp. Estraggo la classe e la metto in libreria.js. Collaudo e verifico che funziona.

    Prendo una pagina ASPX. Carico la libreria con:
    <script src="libreria.js"></script>, collaudo con IE6 e... NON FUNZIONA. Provo con Mozilla e..., FUNZIONA
    Lancio la pagina ASPX che non funziona, estraggo l'html, ricopio in una pagina html, lancio e... FUNZIONA :master:
    Booh, riprendo la pagina ASPX, copio la classe dalla libreria e la metto in fondo alla pagina e..., FUNZIONA :master:

    Insomma, dire che sono confuso è poco. L'unica spiegazione logica che trovo, a parte che ASP.NET si sta rivelando una miniera di problemi, è che ho scritto male il codice della classe.
    Perciò, se voleste dare una occhiata al codice e se trovaste una qualunque spiegazione al mio problema, mi fareste un grande favore:
    codice:
    function stack(a_lista, a_separatore)
    {
    	//proprietà
    	this.lista = a_lista;//lista con campi separati da a_separatore
    	
    	/*
    	l'errore è già qui perchè a_lista risulta sempre indefined
    	
    	
    	*/
    	
    
    }
    Pietro

  2. #2
    pure a me è capitato e non ne sono venuto fuori.

    ho dovuto copiare tutta la classe JS e metterla nell'HEAD della pagina

    una schifezza

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Daniele80
    pure a me è capitato e non ne sono venuto fuori.

    ho dovuto copiare tutta la classe JS e metterla nell'HEAD della pagina

    una schifezza
    ti dico che in asp non ho mai avuto tutti i problemi che sto avendo con asp.net

    Allora, il problema sono le lettere accentate. Fai questa prova:
    una paginetta banale aspx che manda il classico alert Ciao Mondo! all'apertura:
    codice:
    <%@ Page Language="vb" AutoEventWireup="false" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>a</title>
    		<script src="a.js"></script>
    	</head>
    	<body MS_POSITIONING="FlowLayout">
    		<form id="Form1" method="post" runat="server">
    			<script>messaggio("Ciao, Mondo!")</script>
    		</form>
    	</body>
    </html>
    la funzione messaggio la metti in un file a.js che è:
    codice:
    function messaggio(m)
    {
    	//proprietà
    	alert(m);
    }
    se lanci la paginetta aspx non ti manda il messaggio e, in altre situazioni ti segnala un errore javascript. Questo con la pagina aspx e IE6. Con Mozilla funziona

    Con IE6 copia l'html prodotto in una paginetta html. Se la lanci vedrai che funziona

    Insomma, ci sono bag e bag, ma questo è assurdo.

    Se poi ricopi la libreria a.js direttamente nella pagina aspx, torna a funzionare

    Pietro

  4. #4
    Mai avuto quel problema

    Invece di scrivere banalmente il codice javascript tra tag <script> senza inserie nessun'altra proprietà, hai provato a scrivere la sintassi corretta in questo modo:
    codice:
    <script src="a.js" language="JavaScript" type="text/javascript"></script>
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Allora, ho window2000 sp4, visualstudio 2003, IE6
    Ho questa pagina:
    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="a.aspx.vb" Inherits="sitae.a"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
      <head>
        <title>a</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 src="a.js" language="JavaScript" type="text/javascript"></script>
      </head>
      <body MS_POSITIONING="FlowLayout">
    
        <form id="Form1" method="post" runat="server">
    		<script language="JavaScript" type="text/javascript">messaggio("Ciao, Mondo!");</script>
        </form>
    
      </body>
    </html>
    la pagina a.js è:
    codice:
    function messaggio(m){/*à*/alert(m)}
    Al lancio di a.aspx ho due errori javascript:
    Commento senza terminazione
    Previsto oggetto

    Copio l'html in una pagina html
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>a</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 src="a.js" language="JavaScript" type="text/javascript"></script>
    	</head>
    	<body MS_POSITIONING="FlowLayout">
    		<form name="Form1" method="post" action="a.aspx" id="Form1">
    			<input type="hidden" name="__VIEWSTATE" value="dDwtNjU0MzcyMTk1Ozs+c5NIbPynMWUqWBOuXo4+Bl24sKk="
    				ID="Hidden1" />
    			<script language="JavaScript" type="text/javascript">messaggio("Ciao, Mondo!");</script>
    		</form>
    	</body>
    </html>
    e funziona perfettamente

    Non so, forse sto lavorando sotto una vecchia miniera di uranio e asp.net si confonde :master:

    Mah!


    Ciao
    Pietro

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    dirò di più, se nella funzione javascript metto:
    codice:
    function messaggio(m){/*à  */alert(m)}
    ALMENO 2 SPAZI DOPO IL CARATTERE à, funziona :maLOL: :rollo:

    Pietro

  7. #7
    la pagina a.js è:
    codice:
    function messaggio(m){/*à*/alert(m)}
    Certo che un pochino d'ordine nella funzione successiva la potevi usare
    codice:
    function messaggio(m)
    {
      /* à */
      alert(m);
    }
    Inoltre manca anche il punto e virgola dopo l'alert.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da AndreaZani
    Certo che un pochino d'ordine nella funzione successiva la potevi usare
    codice:
    function messaggio(m)
    {
      /* à */
      alert(m);
    }
    Inoltre manca anche il punto e virgola dopo l'alert.

    Ciao
    Andrea, ma allora vogliamo bisticciare?

    NON FUNZIONAAAA! DEVI LASCIARE ALMENO DUE (2) (II) SPAZI DOPO IL CARATTERE à

    e poi, il punto e virgola, non è necessario (anche se è meglio metterlo)
    inoltre la scrittura in più righe non è necessaria
    inoltre, non vorrai dirmi che per fare piacere al parser di asp.net non posso usare i caratteri accentati dentro un commento?
    Ma dai, su! E perchè su Mozillaccio funziona?

    Va bene, lo correggeranno nella fantomatica versione 20.000

    Pietro

  9. #9
    Andrea, ma allora vogliamo bisticciare?
    Perché no?
    NON FUNZIONAAAA! DEVI LASCIARE ALMENO DUE (2) (II) SPAZI DOPO IL CARATTERE à
    inoltre la scrittura in più righe non è necessaria
    inoltre, non vorrai dirmi che per fare piacere al parser di asp.net non posso usare i caratteri accentati dentro un commento?
    Ma dai, su! E perchè su Mozillaccio funziona?
    Il mio messaggio era appunto per farti notare l'assurdità (concedimi il termine ) del tuo inserimento di commento e codice. Che serve all'interno di codice scrivere:
    codice:
    <script>/*il codice seguente fa questo e questo*/var i='s';/*e questo non va perché*/var e='è'...</script>
    Quando l'inserimento di commenti e altro dev'essere in qualche modo leggibile?

    E' un problema non problema! (Concedimi ancora questa frase ). Non dirmi che inserisci queste cose in codice reale?
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Carissimo Andrea, non ce la fai a provocarmi

    Il codice reale era un poco più serio. Ricopio un pezzo:
    codice:
    /*-------------------------------------------------------------------------------------
    classe stack
    j = new stack("Stefano;Carlo;Nicola" [, separatore]);
    proprieta: 
    	lista	lista con campi separati da a_separatore
    	count	Ottiene il numero di elementi contenuti nello Stack
    
    metodi: 
    		pop()		Rimuove e restituisce l'oggetto all'inizio dello Stack
    		push()		Inserisce un oggetto all'inizio dello Stack
    		peek()		Viene restituito l'oggetto all'inizio dello Stack senza rimuoverlo
    		clear()		Consente di rimuovere tutti gli oggetti dallo Stack
    		toarray()	Consente di copiare lo Stack in una nuova matrice	
    		contains()	Consente di stabilire se un elemento e incluso nello Stack
    ---------------------------------------------------------------------------------------*/
    function stack(a_lista, a_separatore)
    {
    	//proprieta
    	this.lista = a_lista;//lista con campi separati da a_separatore
    dopo un poco di parolacce ho scoperto che l'ex commento //proprietà
    (mi pare stilisticamente corretto) era quello che dava problemi.

    Nell'esempio, io ho scritto una cosa assolutamente di prova solo per far vedere dove sorgeva l'errore.

    Ti perdono solo perchè sei un ciclista :maLOL:

    Pietro

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