[RISOLTO] Problema JQuery

Ciao ragazzi,

non riesco ad eseguire un piccolo script per avere un effetto per il login, il codice in questione è questo:




$(document).ready(function(){

	$("#login").click(function(){

		$(".login_box").slideToggle("slow");	

		$(this).toggleClass("active");

		return false;	

	});		 

});



L’errore che mi restituisce la console di chrome è questo:




Uncaught ReferenceError: $ is not defined



Ma, a quel che vedo, jquery è caricato…

Come vedi che jquery e caricato ? L’errore dice che non e…

Da qui:




<script type="text/javascript" src="/test/assets/c82167b/jquery.js"></script>



Devi usare un programma come firebug per firefox per vedere cosa succede… potrebe essere che hai un JS error e jQuery non viene caricato…

Lo utilizzo già…

Ciao perchè invece di usare


<script type="text/javascript" src="/test/assets/c82167b/jquery.js"></script>

non provi ad aggiungere


Yii::app()->clientScript->registerCoreScript('jquery');

in views/layouts/main.php

Provato, ma non cambia nulla…

Ho provato anche con




Yii::app()->clientScript->registerScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js');



Ma l’errore è sempre quello…

Hai scritto che usi firebug… pero niente di piu… se vuoi un aiuto… alora devi aiutarci ad aiutare te :)

Hai visto se ce qualche errore nella console view di firebug ?

Hai provato ad eseguire qualce jQuery codice nel command line (per esempio $(‘body’))?

Ma il fatto strano è che se apro il file "jquery.js" lo leggo…cioè mi ritrovo il codice jquery davanti…

Questo codice funziona:




    Yii::app()->clientScript->registerScript('helloscript',"

        alert('hello');

    ",CClientScript::POS_READY);



Caspita se incollo nella console il codice:




$(document).ready(function(){

	$("#login").click(function(){

		$(".login_box").slideToggle("slow");	

		$(this).toggleClass("active");

		return false;	

	});		 

});



Funziona!

Ma li leggi i miei post o no ? Non ti posso aiutare in questo modo…

Non ti serve guardare nel jquery.js… guarda nel console view di firebug se che qualce JS errore… se ce e la ragione perche il jquery codice non funziona…

Si ho letto ed ho fatto come hai detto tu, e sopra ti ho scritto il risultato :slight_smile:

Pero non hai scritto se ricevi un errore o no ?

Allora… andiamo da cappo…

Il codice del primo post… come lo registri in Yii… dove lo metti ?

RISOLTO!

Bastava aggiungere:




Yii::app()->clientScript->registerScriptFile("/test/assets/c82167b/effect.js");



ehm…

perche il tuo file si trova nel assets folder ?

Il assets folder contiene soltanto i "asset" del applicazione… .cioe le copie dei file che si trovano in qualce altra parte… il suo contenuto si deve poter cancelare completamente… questa e una delle cose da fare quando passi ad una nuova versione di Yii…

Ah, il file in assets l’ho aggiunto io…dove va inserito?

avrei un problema anch’io con jquery… ho bisogno per la mia applicazione di validare campi diversi a seconda dello stato di una checkbox, c’è qualche supporto disponibile da usare, o devo fare tutto da solo?