2009-08-24 6 views
3

j'ai un formulaire pour entrer les directions et afficher une carte Googlejquery - comment changer le texte div après envoi du formulaire

<form action="#" onsubmit="setDirections(this.from.value, 'address', 'en_US'); return false"> 

En dehors de la forme que j'ai les suivantes:

Formatted Directions<div id="printdirec"><a href="http://maps.google.com/">Print Directions</a></div> 

je veux changer la valeur à l'intérieur de la balise div 'printdirec' pour dire autre chose

J'ai essayé ceci (ce que je pensais que cela fonctionnerait) mais ce n'est pas:

<script type='text/javascript'> 
     $(document).ready(function() { 

     $(":submit").click(function(e) { 
       $('div.printdirec').val('tttt') 
      }); 

     }); 
</script> 

des suggestions de ce que je fais mal?

Répondre

5

Le symbole # identifie l'ID de l'élément. Utilisez .text() pour définir le texte interne.

$('div#printdirec').text('tttt'); 
1
$("div#printdirec").html("tttt"); 

Vous devriez vraiment amener toute votre logique de soumission au même endroit. Pas besoin de l'avoir dans le balisage.

2

Cette ligne:

$('div.printdirec').val('tttt') 

cherche pour toutes les divs avec la classe de printdirec. Vous voudrez vous y référer par id. En outre, vous aurez besoin de définir le texte de la div, pas la valeur. Essayez ceci:

$('#printdirec').text('tttt'); 
3

Il serait plus fiable pour gérer l'événement submit, ce qui donne ceci:

$("form#id-of-your-form").submit(function(e) { 
    $('#printdirec').html('tttt'); 
}); 

Voir Selectors pour la syntaxe de sélection de base. Une lecture rapide devrait éliminer une confusion supplémentaire quant à la façon de traiter correctement les éléments.

Questions connexes