codeigniter charge javascript spécifique
J'ai un registre afficher le fichier sur lequel il y a une très grande forme. J'ai donc l'intention d'utiliser un assistant de création de formulaire du plugin avec le jquery de validation de formulaire du plugin. Je veux seulement ces scripts chargés sur des pages spécifiques. Comment dois-je faire ? Voici ma méthode de contrôleur.
public function index(){
$data['title'] = "Register";
$this->load->view("site_header", $data);
$this->load->view("site_nav");
$this->load->view("content_register");
$this->load->view("site_footer");
}
J'ai vu un poste similaire sur stackoverflow ici mais je ne comprends pas quoi faire. S'il vous plaît aider.
résumé peut être utile. En utilisant cela, vous pouvez incorporer des fichiers JavaScript externes et également ajouter interne instructions JavaScript dans les vues personnalisées.
OriginalL'auteur Binaryrespawn | 2013-07-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez envoyer ce qui js à charge variable. L'exemple est ici;
Contrôleur d'échantillon
header.php - fichier de Vue
Ce qui se passe?
Nous sommes en paramètre le fichier js dans $variable de données, et de passer le $variable de données d'en-tête.
Dans le fichier d'en-tête nous allons vérifier si le js_to_load est réglé? Si oui, nous sommes d'inclure le fichier javascript.
Vous pouvez également passer multi js fichiers à l'aide de matrices.
Contrôleur d'échantillon
header.php - fichier de Vue
<? if (isset($js_to_load)) : ?> <script type="text/javascript" src="assets/js/<?=$js_to_load;?>"> <? endif;?>
OriginalL'auteur fobus
Passer un tableau de js que vous souhaitez ajouter à l'en-tête dans les données, et d'ajouter dans la vue, il y a probablement d'autres façons de le faire (ce genre frottis de la contrôleur/vue de la ligne, donc c'est un peu sale, mais il fonctionne).
OriginalL'auteur John V.
Il est préférable de charger votre .js dans votre pied de page que votre HTML doit charger complètement avant de commencer l'exécution d'un script sur elle.
voir ici pour des raisons
j'utilise un pied universel à la poignée .js fichiers
mon pied de page vue est
à l'aide de
$this->router->class;
ou$this->router->fetch_method();
pour détecter quel contrôleur ou de la méthode du contrôleur est utilisé. alors détecter si une .fichier js existe pour que contrôleur/méthodeavec peu de gestion, vous pouvez avoir contrôleur et/ou de la méthode de scripts spécifiques sans jongler avec le pied de page.
dans le fichier pub/js/custom-mycontrollername-mymethod.js ensuite, vous devez utiliser (jquery);
ici le jquery ne fonctionne que lorsque le document est
ready
(comme jquery recommande)et vous pouvez également utiliser
if ( $( "#mydivthing" ).length ) {
de vérifier que ton div est en fait sur la page. si vous n'êtes pas de tir des événements lorsqu'ils ne sont pas chargés (pour la vitesse). mais que jquery est susceptible de faire quelques vérifications - c'est probablement seulement pour les grandes séries de code que de simples clics sur le bouton événements.alors que la question était pour les vues, ce qui répond à une contrôleur/méthodes de niveau. donc, tandis qu'une méthode peut avoir plusieurs vues - ce encore une vue de l'écran comme on le voit par l'utilisateur.
ajouté de bonus que vous pouvez associer .js fichiers pour contrôleur/méthodes seulement par son nom de fichier.
OriginalL'auteur 2114L3
vous pouvez utiliser une variable comme nom de contrôleur et de passer cette variable à votre vue comme
Voici Contrôleur
Header.php Fichier
espère que cela répondra à votre question
OriginalL'auteur Junaid Ahmed
Je ne comprends pas votre problème. Je suppose que vous chargez vos fichiers js en vue site_header ou de la vue site_footer, pourquoi ne pas vous en charger une autre vue de ces pages? par exemple:
Une autre solution est de mettre un si de votre point de vue de la charge supplémentaire, js fichiers de vérifier le chemin d'accès, vous pouvez utiliser
$this->uri->segment()
pour cela.OriginalL'auteur m4t1t0