2015-02-11 42 views
1

我運行下面的代碼是:在表單塊上提交()嗎?

iframedoc.getElementsByTagName('form')[0].submit(); 

我需要的形式完成提交後立即執行代碼。 submit()是否會阻止,還是我需要其他方式來確定表單何時提交?

回答

2

否,引發了表單提交不會阻止返回任何有用的東西。它只是告訴瀏覽器創建一個請求,它將呈現一個新的頁面。但是,使用iframe,可以使用onload事件處理來自表單提交後的響應。

iframedoc = iframe.contentDocument; 
iframe.onload = function(e) { 
    alert('frame loaded'); 
    // read its url, content, etc... 
}; 
iframedoc.getElementsByTagName('form')[0].submit(); 
// immediately returns undefined and your code proceeds 

由於JavaScript的在單個線程上運行,你不會看到警告,直到完成所有你後面的代碼,瀏覽器提交表單的「裝框」,並onload事件觸發。