10 years ago
7
Topic
Bonjour,

Je vous prie de bien vouloir m'aider à trouver une solution à mon problème.

J'utilise actuellement les champs suivants :
1- Lien
2- Plateforme
3- ID vidéo

Prenons à présent un exemple pour mieux comprendre ce que je souhaite faire :
1- Lien sera rempli par l'utilisateur avec la valeur : https://www.youtube.com/watch?v=MfyPxSqlIpo
2- Plateforme sera automatiquement rempli grace à une fonction javascript par : youtube
3- ID vidéo sera également rempli automatiquement par : MfyPxSqlIpo

Voici un autre exemple pour mieux comprendre :
1- Lien sera rempli par l'utilisateur avec la valeur : http://www.dailymotion.com/video/x1o9cwz_il-lui-arrache-son-portable_fun
2- Plateforme sera automatiquement rempli grace à une fonction javascript par : dailymotion
3- ID vidéo sera également rempli automatiquement par : x1o9cwz

Comment faire pour activer une fonction javascript qui effectuera les modifications des champs Plateforme et ID vidéo à chaque fois que le contenu du champ Lien est modifié par l'utilisateur ? (Je crois qu'il faut appelé le trigger change de l'élément Lien, mais je ne sais pas du tout comment m'y prendre).

Merci d'avance pour l'intérêt porté à ma demande.
Get a VIP membership
10 years ago
1
Level 1
Bonjour Popolvuh,
bienvenue sur le forum SEBLOD.

Merci de ne pas poster deux fois la même demande dans des langues différentes, la réponse ne viendra pas plus vite.

Je suppose que vos champs sont dans un formulaire, dans ce cas, quel est le besoin de passer par du javascrip ?

Vous pouvez effectuer des traitements, sur les données soumises par le formulaire, avant ou après qu'elles soient stockées en base.
Pour cela, vous pouvez utiliser les plugins de code

En ajoutant un Champ Code Before Store, vous allez pouvoir en php récupérer les infos souhaitées dans le champ lien et mettre à jour les champs plateforme et ID video.

Un complement d'informations sur l'utilisation du Before Store.

Cordialement.
Lionel
10 years ago
0
Level 2
Bonjour, Lionel,

Merci pour ta réponse et desolé pour le double post mais c'est fait exprêt car il se peut qu'un membre qui ne parle que l'anglais ai la préponse ou le contraire. Cependant j'éviterai de le faire à l'avenir.

Par ailleurs, l'exemple que j'ai donné plus haut n'été que pour vous expliquer brievement ce que j'aimerai faire. Je vais de ce fait jetter un coup d'oeil au plugin. Mais comme stipuler plus haut y a t'il un moyen d'appeler mes propres fonctions javascript ?

Merci pour l'intérêt porté à ma requete.


10 years ago
1
Level 1
Dans la configuration de chaque plugin de champ, à la fin des options, en cliquant sur le chevron orange, cela permet d'afficher des options complémentaires.

Parmi ces options, on peut ajouter du Jquery dans le textarea Script. Les script serons chargés à l'affichage du champ.

Cordialement.
Lionel
10 years ago
0
Level 2
Merci énormement Lionel,

J'avais en effet déjà testé cette solution, cependant cela charge le script javascript à l'affichage de la page, alors que moi je dois éxecuter le code chaque fois que le champ Lien est modifié, y a t'il une solution possible ?

Merci énormément et desolé de te déranger.

Cordialement

P.S : Je viens de trouver le plugin Function : http://www.seblod.com/products/595,y a t'il un moyen de l'adapter à ce que j'aimerai faire ? En gros déclaré une fonction de validation et dans cette fonction effectuer les traitement que je désire ?

10 years ago
2
Level 1
Bonsoir,

il n'y a besoin d'aucun plugin complémentaire pour  charger du javascript.
Le textarea Script dans les options du champ effectue cela très bien.

Après, l’évènement qui va déclencher le javascript dépend complétement de la programmation Javascript elle même.

Pour effectuer une action Javascript lorsque l'on change la valeur d'un champ il faut utiliser l’événement "change".

Cordialement.
Lionel
10 years ago
1
Level 2
Bonjour Lionel, Merci encore une fois pour ton intérêt, effectivement j'ai pensé à la même chose que toi, c'est à dire affecter le code javascript à l'événement change, cependant as tu une idée de comment faire cela je te prie ?

La seule chose que j'ai réussi à faire c'est mettre le code dans la textarea js du champ, mais celui ci s’exécute lors de l'affichage du champ, comment l'activer uniquement lors du change ? La est la question.

Cordialement.
10 years ago
0
Level 3
Bonjour popolvuh
Je ne sais si cela peut t'aider mais voici le code que j'ai placé dans l'un de mes champs pour activer une mise à jour d'un autre champs par un événement javascript :

Il s'agit d'un champ liste (id_client_demande) qui lorsqu'il est sélectionné met à jour un champs un champ texte (id_client) :

$(document).ready(function()
{
     $("#id_client_demande").attr("selectedIndex", -1);
     $("#id_client_demande").change(function()
     {
          $("#id_client").val($("#id_client_demande option:selected").val());
     });
});

cordialement

Get a VIP membership