2011-07-19 61 views
0

我在該帖子上有一個窗體隱藏iframe。表單的操作URL位於單獨的域中。我在Chrome中看到表單帖子發生問題,但沒有發送表單數據。在Chrome中使用iframe目標的跨域表單發佈

這裏的設置:

<form action="http://anotherdomain/save" method="post" target="myiframe" id="myform"> 
    <!-- standard form fields here --> 
    <button type="submit">Submit</button> 
</form> 
<iframe src="about:blank" name="myiframe" style="display: none;"></iframe> 

如果用戶點擊該按鈕,形式職位,因爲它應該到iframe和一切都很好。但是,如果我介紹jQuery Validation,事情就會停止在Chrome中運行。我有我的驗證看起來像這樣:

$("#myform").validate({ 
    // various options set here 
    submitHandler: function(form) { 
     form.submit(); 
     // stuff that should happen after the form submits 
    } 
}); 

在這種情況下,form.submit()引起的形式,而不發佈任何數據提交,只有頭被髮送。內容長度始終爲0.這隻發生在Chrome,Firefox,IE,Opera均提交正常。

更奇怪的是,如果我在頁面上有另一個按鈕,並用下面的代碼將它連接起來,那麼表單提交正確。

$("myotherbutton").click(function() { $("#myform").submit(); } 

我不知道Chrome爲何如此行事,以及是否有解決方法。任何幫助,將不勝感激。

回答

0

請忽略此問題。這不是Chrome和事件處理程序的問題,而是涉及到在事件被調用之前移除DOM元素的問題。