2011-06-03 4 views
0

Je viens de commencer à utiliser jQuery ces derniers jours. J'aime comment cela rend les fonctions simples. Cependant, parce que je suis très novice dans l'utilisation de Javascript, je continue de frapper un barrage routier avec une seule fonction.Comment passer une variable avec jquery

J'essaye de lier plusieurs fonctions ensemble, mais je ne suis pas sûr si je le fais dans le bon ordre. Ce que je veux faire, c'est obtenir une variable à partir d'un sélecteur href='#from=xxxxx&to=xxxxx', avec le xxxxx étant une valeur imprimée à partir d'une base de données en utilisant PHP.

Créez ensuite une fenêtre DOM pour afficher un formulaire et insérez ces valeurs dans les champs d'entrée masqués. J'ai été bloqué en essayant de trouver un moyen de passer ces variables du lien vers le formulaire.

Voici mon script:

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
<script src="http://swip.codylindley.com/jquery.DOMWindow.js"></script> 
</head> 
<body> 
<div id="msgBox" style="display:none"></div> 
<?php $from="0"; $to="0"; 
for ($x=1; $x<=4; $x++){ $from++; $to++; ?> 
<a href="#from=<?php echo $from;?>&to=<?php echo $to;?>" class="foo">user<?php echo $x;?></a><br> 
<?php } ?> 
<script type="text/javascript"> 
     $("#msgBox").append("<form id='myForm' method='post' action='index.php'><div style='border:1px solid #cc0; width:300px;'><input type='hidden' value='<?php echo $from;?>'><input type='hidden' value='<?php echo $to;?>'>subject:<input type='text' name='subject'><br>message:<textarea class='mbox' name='msg'></textarea><br><input type='submit' value='submit'></div></form>"); 
     $('.foo').click(function(){ 
      $.openDOMWindow({ 
       windowSourceID:'#msgBox', 
       height:135, 
       width:300, 
       overlay:0, 
       positionType:'anchoredSingleWindow', 
       windowBGColor:'#f9f5f5', 
       anchoredSelector:'.foo', 
       positionLeft:200, 
       positionTop:150 
      }); 
        $("#msgBox").trigger(); 
      return false; 
    }); 
</script></body></html> 

Répondre

0

Dans le gestionnaire pour l'événement cliquez sur chaque lien, vous pouvez obtenir une référence au lien cible et extraire les valeurs de l'attribut href et puis définissez les valeurs de la champs masqués dans le formulaire.

$('.foo').click(function() { 

var href = $(this).attr('href'); // will contain the string "#from=0&to=0" 

var from,to = ... // extarct from string by splitting by & or using url parse library 

$('#msgBox').find("input[name='from']").val(from); 
$('#msgBox').find("input[name='to']").val(to); 

// rest of code... 

}); 
+0

Salut, merci pour la réponse, Comment puis-je passer les valeurs dans le formulaire tho. J'ai un peu pu séparer les valeurs auparavant. Aussi le reste du code pourrait vous montrer ce que j'essaie de faire. – Michael

+0

désolé, encore une fois. Je l'ai eu, juste dû le lire quelques fois de plus – Michael

Questions connexes