2010-04-06 8 views
3

J'ai un iframe et un formulaire. La cible du formulaire est iframe. Lorsque je soumets un formulaire, la page de résultat devrait charger dans iframe. Je joins le code ci-dessous:Jquery formulaire submit() rappeler ne fonctionne pas

<html> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> 
<script type="text/javascript"> 

function submitForm() { 
$("form#testForm").submit(function(){ 
    alert('hii') 
    }); 
} 
</script> 

</head> 

<body> 

<iframe name="testFrame" id="testFrame" frameborder="1" scrolling="no" width="500"  height="200"></iframe> 
<form name="testForm" id="testForm" action="http://www.yahoo.com" target="testFrame"> </form> 

<button name="testBtn" value="submit" onclick="submitForm();">submit</button> 
</body> 
</html> 

L'alerte ne vient pas .... Aidez-moi s'il vous plaît ...

Répondre

9

Comme le docs say, si vous appelez une méthode d'événement jQuery avec un argument, il ajoute un gestionnaire d'événements plutôt que de déclencher l'événement. Vous devez ajouter le gestionnaire d'événements en dehors de submitForm.

$(document).ready($("form#testForm").submit(function(){ 
    alert('hii') 
}); 


function submitForm() { 
    $("form#testForm").submit(); 
} 
+0

Thnx outis ... il travaille maintenant ... :-) – Aneesh

+0

une chose ... Comment puis-je obtenir la hauteur du contenu de la page chargée? $ ("# iframeName"). contents(). find ("body"). height() ne fonctionne pas ... une idée? ça donne 0 ... :( – Aneesh

+1

@Aneesh: SO est un site de questions et réponses, pas un forum De nouvelles questions devraient être posées comme de nouvelles questions, pas dans les commentaires La raison pour laquelle votre code ne fonctionne pas, en bref (puisque c'est tout que les commentaires permettent), c'est que le contenu de l'iframe est dans un domaine différent, donc vous ne pouvez pas – outis