difficulté à passer un écouteur d'événement var à php

  • beaner
  • Novice
  • Novice
  • No Avatar
  • Inscription: Déc 09, 2009
  • Messages: 15
  • Status: Offline

Message Janvier 7th, 2010, 8:23 am

Salut tout le monde,
J'ai une ComboBox qui est lu par un écouteur d'événement. Si je trace le Var de l'auditeur-je obtenir la bonne information. La chose dont je suis perplexe sur la façon de se passer ensuite cette variable à ma mailer php. Toute aide serait appriciated. voici mon code AS2:

Code: [ Select ]
myComboBoxListener = new Object();
myComboBoxListener.change = function(eventObj) {
   var eventSource = eventObj.target;
   var theSelectedItem = eventSource.selectedItem;
   var theSelectedItemLabel = theSelectedItem.data;
   trace("You selected "+theSelectedItemLabel+".");
};
myComboBox.addEventListener("change", myComboBoxListener);
  1. myComboBoxListener = new Object();
  2. myComboBoxListener.change = function(eventObj) {
  3.    var eventSource = eventObj.target;
  4.    var theSelectedItem = eventSource.selectedItem;
  5.    var theSelectedItemLabel = theSelectedItem.data;
  6.    trace("You selected "+theSelectedItemLabel+".");
  7. };
  8. myComboBox.addEventListener("change", myComboBoxListener);
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Janvier 7th, 2010, 8:23 am

  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Janvier 7th, 2010, 9:54 am

Eh bien vous avez deux questions. Votre première construction d'une variable qui n'existe que dans la fonction. Changement. Raison de problèmes de portée de votre allons avoir du mal à y accéder en dehors de la fonction.

Pour résoudre cela, vous devez créer une variable en dehors de la fonction, puis définissez sa valeur sur les incendies lorsque le changement. Donc:
ACTIONSCRIPT Code: [ Select ]
// create holder varialbes
var selItem = "";
var selLabel = "";
 
myComboBoxListener = new Object();
  myComboBoxListener.change = function(eventObj) {
  var eventSource = eventObj.target;
  var theSelectedItem = eventSource.selectedItem;
  var theSelectedItemLabel = theSelectedItem.data;
  // attach your vars to the holder vars
  selItem = theSelectedItem;
  selLabel = theSelectedLabel;
 
  // trace the variables here to show that they've changed
  trace("item = "+selItem+" and label= "+selLabel);
};
myComboBox.addEventListener("change", myComboBoxListener);
 
// If you trace the vars here they'll be blank because the event hasn't fired yet.
trace("item = "+selItem+" and label= "+selLabel);
 
 
  1. // create holder varialbes
  2. var selItem = "";
  3. var selLabel = "";
  4.  
  5. myComboBoxListener = new Object();
  6.   myComboBoxListener.change = function(eventObj) {
  7.   var eventSource = eventObj.target;
  8.   var theSelectedItem = eventSource.selectedItem;
  9.   var theSelectedItemLabel = theSelectedItem.data;
  10.   // attach your vars to the holder vars
  11.   selItem = theSelectedItem;
  12.   selLabel = theSelectedLabel;
  13.  
  14.   // trace the variables here to show that they've changed
  15.   trace("item = "+selItem+" and label= "+selLabel);
  16. };
  17. myComboBox.addEventListener("change", myComboBoxListener);
  18.  
  19. // If you trace the vars here they'll be blank because the event hasn't fired yet.
  20. trace("item = "+selItem+" and label= "+selLabel);
  21.  
  22.  


Maintenant, en fonction de ce que vous avez à faire avec les variables en PHP vous pouvez faire du droit d'appel sur la fonction à l'intérieur du changement, mais qu'il ya probablement plus facile d'avoir une fonction distincte pour gérer tous ce que vous appelez l'intérieur de l'auditeur.

ACTIONSCRIPT Code: [ Select ]
// create holder varialbes
var selItem = "";
var selLabel = "";
 
myComboBoxListener = new Object();
  myComboBoxListener.change = function(eventObj) {
  var eventSource = eventObj.target;
  var theSelectedItem = eventSource.selectedItem;
  var theSelectedItemLabel = theSelectedItem.data;
  // attach your vars to the holder vars
  selItem = theSelectedItem;
  selLabel = theSelectedLabel;
 
  // function to run
  cbchanged();
 
};
myComboBox.addEventListener("change", myComboBoxListener);
 
// function to run on change
function cbchanged(){
  trace("cb changed. new item = "+selItem+" and new label= "+selLabel);
}
 
  1. // create holder varialbes
  2. var selItem = "";
  3. var selLabel = "";
  4.  
  5. myComboBoxListener = new Object();
  6.   myComboBoxListener.change = function(eventObj) {
  7.   var eventSource = eventObj.target;
  8.   var theSelectedItem = eventSource.selectedItem;
  9.   var theSelectedItemLabel = theSelectedItem.data;
  10.   // attach your vars to the holder vars
  11.   selItem = theSelectedItem;
  12.   selLabel = theSelectedLabel;
  13.  
  14.   // function to run
  15.   cbchanged();
  16.  
  17. };
  18. myComboBox.addEventListener("change", myComboBoxListener);
  19.  
  20. // function to run on change
  21. function cbchanged(){
  22.   trace("cb changed. new item = "+selItem+" and new label= "+selLabel);
  23. }
  24.  


Évidemment, il ya beaucoup de façons de simplifier ce code, mais son bon de savoir whats going on.

Deuxièmement, il ya deux manières de transmettre ces données à partir de PHP / Javascript, etc Jetez un oeil à la fois sendAndLoadVars et ExternalInterface pour trouver le meilleur pour votre configuration.
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • beaner
  • Novice
  • Novice
  • No Avatar
  • Inscription: Déc 09, 2009
  • Messages: 15
  • Status: Offline

Message Janvier 8th, 2010, 8:36 am

Merci beaucoup pour vos commentaires. Après avoir lu votre message, j'ai pu passer la variable comboBox hors de la fonction. Choix dans une variable globale.

Je peux maintenant voir la variable en dehors de la fonction lorsque je la trace.
Tout semble bien fonctionner mais lorsque je tente de prendre la variable globale et l'envoyer à l'expéditeur PHP avec les autres, il ne veut toujours pas aller.... hmm perplexe!

voici mon code de toute rétroaction serait appriciated.

Soumettre code du bouton:
Code: [ Select ]
            loadVariables("wasserMail.php", "", "POST");
            
            showerror("Sending data...");

            varSender = new LoadVars();
            varSender.cname = cname;
            varSender.email = email;
            varSender.company = company;
            varSender.msg = msg;
            
            varSender.selLabel = selLabel;
            trace (selLabel);
            trace (_global.selLabel);

            varSender.sendAndLoad(url, varSender, "POST");
  1.             loadVariables("wasserMail.php", "", "POST");
  2.             
  3.             showerror("Sending data...");
  4.             varSender = new LoadVars();
  5.             varSender.cname = cname;
  6.             varSender.email = email;
  7.             varSender.company = company;
  8.             varSender.msg = msg;
  9.             
  10.             varSender.selLabel = selLabel;
  11.             trace (selLabel);
  12.             trace (_global.selLabel);
  13.             varSender.sendAndLoad(url, varSender, "POST");



Et voici mon code php
Code: [ Select ]
$to=(isset($_POST['selLabel'])) ? $_POST['selLabel'] : false;
$cname=(isset($_POST['cname'])) ? $_POST['cname'] : false;
$email=(isset($_POST['email'])) ? $_POST['email'] : false;
$company=(isset($_POST['company'])) ? $_POST['company'] : false;
$msg=(isset($_POST['msg'])) ? $_POST['msg'] : false;
$result=(isset($_POST['result'])) ? $_POST['result'] : false;



$body = "
Wasser Website - E-mail Contact: \n
Name: $cname \n
Email: $email \n
Company: $company \n
Message: $msg \n
To: $to \n

";


$subject = "Wasser Website - E-mail Contact";
mail($to, $subject, $body);
  1. $to=(isset($_POST['selLabel'])) ? $_POST['selLabel'] : false;
  2. $cname=(isset($_POST['cname'])) ? $_POST['cname'] : false;
  3. $email=(isset($_POST['email'])) ? $_POST['email'] : false;
  4. $company=(isset($_POST['company'])) ? $_POST['company'] : false;
  5. $msg=(isset($_POST['msg'])) ? $_POST['msg'] : false;
  6. $result=(isset($_POST['result'])) ? $_POST['result'] : false;
  7. $body = "
  8. Wasser Website - E-mail Contact: \n
  9. Name: $cname \n
  10. Email: $email \n
  11. Company: $company \n
  12. Message: $msg \n
  13. To: $to \n
  14. ";
  15. $subject = "Wasser Website - E-mail Contact";
  16. mail($to, $subject, $body);
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Janvier 8th, 2010, 9:10 am

Avez-vous une quelconque des données varSender dans le PHP? Aussi qu'est-ce que la trace produire lorsque vous cliquez sur "Submit?
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • beaner
  • Novice
  • Novice
  • No Avatar
  • Inscription: Déc 09, 2009
  • Messages: 15
  • Status: Offline

Message Janvier 8th, 2010, 9:20 am

Je reçois toutes les données varSender mais le varSender.selLabel "= selLabel;"
Et quand j'ai frappé présenter la trace produit le point des données correctes choisi dans le comboBox....
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Janvier 8th, 2010, 9:22 am

faire les deux produisent la même chose?
#trace (selLabel);
#trace (_global.selLabel);

Essayez également de la traçabilité:
varSender.selLabel
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • beaner
  • Novice
  • Novice
  • No Avatar
  • Inscription: Déc 09, 2009
  • Messages: 15
  • Status: Offline

Message Janvier 8th, 2010, 9:30 am

Tous 3 traces retourner l'élément choisi dans le comboBox...

Si je peux retrouver les varSender.selLabel puis Im supposant qu'il y ait peut-être un problème avec mon php.... bizarre
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Janvier 8th, 2010, 9:48 am

C'était ma pensée aussi. Sauf theres tout hasard que son passage (et suivi) une référence d'objet au lieu d'une chaîne de caractères que PHP ne comprends pas.

essayez ceci:
ACTIONSCRIPT Code: [ Select ]
var selLabelString = selLabel.toString();
varSender.selLabel = selLabelString;
 
  1. var selLabelString = selLabel.toString();
  2. varSender.selLabel = selLabelString;
  3.  
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com
  • beaner
  • Novice
  • Novice
  • No Avatar
  • Inscription: Déc 09, 2009
  • Messages: 15
  • Status: Offline

Message Janvier 8th, 2010, 10:03 am

hmmm je mets le code que vous écrivez à mon bouton d'envoi, mais il n'est toujours pas rien laisser passer .. im so plus d'idées...

Afficher de l'information

  • Total des messages de ce sujet: 9 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 35 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC