2011-08-03 17 views
0

私は現在、iframeを(同じドメインのページから)ダイアログボックスを使用してiframeからダイアログのページに値を返します。私がフォームを提出する場合を除いて、すべてがうまくいきます。私は検索フォームを提出し、入力にidの値を得るためにaをクリックしようとすると何も起こりません。私は何をしているかの例を挙げています。jqueryダイアログのiframe内にフォームを送信する

HERESにここダイアログ

<html> 
    <head> 
    <script> 
    $(document).ready(function(){ 
     $('a#booksearch_lnk').click(function(){ 
      $('.choosebookbox').dialog('open').css('display','block'); 
       $('#choosebookframe').contents().find('a.choosebook').click(function(){ 
        // alert($(this).attr('id')); 
        $("#isbn").val($(this).attr('id')); 
        $('.choosebookbox').dialog("close"); 
       }); 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
    <div class="choosebookbox" style="display:none"> 
<h4>Choose your first book</h4><div align="center" style="width: 500px; height: 500px"><iframe scrolling="no" id="choosebookframe" src="http://www.myurl.com/choosebook.php" width="100%" frameborder="0" height="100%"></iframe></div> 
    </body> 

とのページはインラインフレームページです...

<html> 
<head> 
</head> 
<body> 
<div style="width:600px;height:600px;"> 
<form action="<?php echo $PHP_SELF;?>" method="get"> 
<input type="text" name="search" style="width:150px"/> 
<input type="submit" value="search" class="orangebtnsm" /> 
</form> 
<? if(isset($_GET['search'])){ 
    $search = $_GET['search']; 
echo "search for $search"; 
echo "<ul>"; 
echo "<li><a id='2345676898' class='choosebook'>Book 5</a>"; 
    echo "<li><a id='1985563345' class='choosebook'>Book 6</a>"; 
echo "</ul>"; 
} 
?> 
<ul> 
<li><a id="1234567898" class="choosebook">Book 1</a></li> 
<li><a id="2345676898" class="choosebook">Book 2</a></li> 
<li><a id="9854645645" class="choosebook">Book 3</a></li> 
<li><a id="1985563345" class="choosebook">Book 4</a></li> 
</ul> 
</div> 
</body> 
</html> 

答えて

1

私は将来性のイベントハンドラを使用してみてくださいと言うでしょう。

$('#choosebookframe').contents().find('a.choosebook').live('click',function(){ 

スワップ

$('#choosebookframe').contents().find('a.choosebook').click(function(){... 

私は、フォームの送信時にバインディングが失われていると思います。

+0

実際にはすべてが機能しません。ライブがなければ、リンクは「投稿」の前に動作しますが、ライブは何も動作しません。 – tytyguy

+0

新しいコードは見えますか?私はあなたにタイプミスがあると思います。 – AlienWebguy

+0

iframeを使用する代わりに.loadを使用することに決めました。リンクをクリックすると何も起こりません – tytyguy

関連する問題