2010-06-18 7 views
0

J'ai un tableau de zones de texte ayant chacune un bouton sur le côté droit qui, lorsqu'il est pressé le texte devrait être affiché dans une nouvelle fenêtre en utilisant Jquery. Pour la démo, vous avez peut-être vu le plugin jquery lightbox qui montre les images dans la nouvelle fenêtre. Je veux exactement la même chose mais à la place des images je veux montrer la valeur du texte de la boîte de texte lorsque son bouton est pressé.Obtenir la valeur de la zone de texte dans une nouvelle fenêtre en utilisant Jquery

S'il vous plaît dites-moi comment puis-je faire cela?

+0

parlez-vous d'une fenêtre ou d'un dialogue? –

Répondre

0

Vous pouvez le faire comme ceci:

var win = window.open(); 
var doc = win.document; 
doc.write($('#textbox_id').val()); 
doc.close(); 
0

testopen.html:

<html> 
     <head></head> 
     <body> 
     <div id="field1"></div> 
     <div id="field2"></div> 
     </body> 
</html> 

testopener.html:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> 
</head> 
<body> 

    <input id="field1" /> 
    <input id="field2" /> 

    <button id="opentest">test</button> 
</form> 

</body> 

<script type="text/javascript"> 

$(function(){ 

    var winopen = null; 

    $("#opentest").bind("click", function(){ 

      if (winopen == null || winopen.closed){ 
      winopen = window.open("testopen.html","", "left=100,top=100,width=250,height=150"); 
     } 

     var field1 = $("#field1").val(), 
      field2 = $("#field2").val(), 
      ntry = 3, 
      sendMsg = function(){ 

       if (winopen.document.readyState != "complete"){ 

        if (ntry >= 0) 
         setTimeout(sendMsg, 1000); 

        ntry--; 
        return; 

       } 

       $(winopen.document.body).find("#field1").html(field1); 
       $(winopen.document.body).find("#field2").html(field2); 

      } 

     sendMsg(); 

    }); 

}); 

</script> 

liens

http://jquery.com/demo/thickbox/

http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/

http://www.ericmmartin.com/projects/simplemodal/

+0

Vous avez écrit un très bon code, mais peut-être que je cherchais une boîte de dialogue ou des fenêtres, mais cela me permet d'apporter des modifications et de renvoyer les modifications à la zone de texte originale d'où elle a été prise. Deuxièmement, je cherche le même effet que le plugin jquery lightbox. C'est possible? Merci beaucoup pour votre code et votre temps – user370564

0

Si vous souhaitez afficher les textes ony, je vous suggère fortement d'utiliser au lieu de dialogue du plug-in.
Il y a beaucoup de plugin disponible pour cela, qui supporte l'affichage des images et des textes.

http://fancybox.net/

http://colorpowered.com/colorbox/

http://dev.iceburg.net/jquery/jqModal/#

http://jqueryui.com/demos/dialog/

+0

Oui, vous avez raison, je suis à la recherche de boîte de dialogue, j'ai traversé les liens et je pense que fancybox est ce dont j'ai besoin. Merci beaucoup. – user370564

+0

Kai, dites-moi s'il est possible d'exécuter un petit script ajax dans "HTML en ligne.Par exemple, j'obtiens la valeur de texte en utilisant "HTML en ligne", puis je modifie le texte en utilisant Ajax dans le même HTML en ligne (fenêtre contextuelle). Est-ce tout possible? – user370564

0

Vous pouvez faire quelque chose comme ceci:

$('input#mybutton').click(function() { 
    var text = $('textarea#mytextarea').val(); 
}); 

Ainsi, lorsque le bouton est click d, le contenu de textarea sera collecté dans une variable. Après, il vous suffit d'injecter que les variables du contenu sur votre destination:

  1. alerte()
  2. plug-in pour fenêtre
  3. fenêtre pop-up
  4. personnalisé
  5. ouvrir une nouvelle fenêtre de navigateur avec ce contenu etc. ..
Questions connexes