2010-04-06 2 views
3

У меня есть iframe и форма. Целью формы является iframe. Когда я отправляю форму, страница результатов должна загружаться в iframe. Я приложил код ниже:Jquery form submit() call back not working

<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> 

Предупреждение не придет .... Помогите мне пожалуйста ...

ответ

9

Как docs say, если вы вызываете метод события JQuery с аргументом, он добавляет обработчик события, а не запуск события. Вам нужно добавить обработчик событий за пределы submitForm.

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


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

Thnx outis ... он работает сейчас ... :-) – Aneesh

+0

еще одну вещь ... Как я могу получить высоту содержимого загруженной страницы? $ ("# iframeName"). contents(). find ("body"). height() не работает ... любая идея? он дает 0 ... :( – Aneesh

+1

@Aneesh: SO - это сайт Q & A, а не форум. Новые вопросы должны задаваться как новые вопросы, а не комментарии. Причина, по которой ваш код не работает, вкратце (так как это все что комментарии допускают), заключается в том, что содержимое iframe находится в другом домене, поэтому вы не можете. – outis