我有一個小提琴:在節目開始來電提示功能 - iframe和同源策略
http://jsfiddle.net/nicorellius/4vQ9S/
警報火災,並顯示了和關閉,但綁定到按鈕的點擊是逃避我。
我有一個fancybox彈出窗口的作品。這是一個形式:
的HTML是一個簡單的表:
<form id="my-form" method="post" action="">
<table>
<tr>
<td>
<label for="name">Name</label></td>
<input type="text" id="name" name="name">
</td>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
的鏈接觸發的fancybox:
<a class="fancy-popup" href="test.html" data-fancybox-type="iframe">
我有一個簡單的腳本,調用一些功能:
$(document).ready(function() {
function before_show() {
alert("fancybox before show");
}
function after_show() {
alert("fancybox after show");
}
function on_close() {
alert("fancybox after close");
}
function alert_me() {
$.fancybox.inner.find('iframe').contents().find('input.click-me').click(function() {
alert("fancybox has been foiled!!!");
});
}
$(".fancy-popup").fancybox({
openSpeed : 'slow',
openEffect : 'fade',
minWidth : '200',
minHeight : '100',
maxWidth : '400',
maxHeight : '150',
scrolling : 'no',
beforeShow : before_show,
afterShow : after_show,
afterClose : on_close,
//afterShow : alert_me
});
});
我意識到我無法在iFrame中執行此操作,因爲有相同的原產地策略。我無法弄清楚我的生活如何得到這個工作。
注意
請注意,自成立以來的問題已經改變,所以下面參考驗證答案是不適用的。
您可以添加您的警報,也可以使用AJAX到您的窗體與'XHR '你甚至可以在你的fancybox中使用iframe(不推薦,但你可以)。你有沒有嘗試將你的代碼綁定到jquery的許多'form validator'插件? –
我還沒有嘗試過嘗試過這些方法,因爲我希望能夠以這種方式工作。但現在看起來工作起來比我原先想象的更難,我可能會尋求其他方法。我很可能會去jQuery表單驗證器插件。謝謝。 – nicorellius