由於JavaScript是同步運行(不
setTimeout
)添加或刪除HTML元素,都應該是向用戶顯示HTML更改之前它是徹底完蛋了?當JavaScript仍在運行時,瀏覽器是否顯示HTML更改或允許提交表單?更重要的是,如果JavaScript是改變可以包含在表單提交元件(例如添加多個
textarea
元素),而它的用戶可以點擊提交按鈕,在進步,並提交一個不完整的請求? (有些textarea
元素都包含在請求和一些textarea
元素都沒有。)
事情是這樣的: <form action="" method="post"><input type="submit" value="Submit"></form>
當用戶提交,一些功能恰好是在進步。
function happens_to_be_running_and_user_clicks_submit(){
the_form_element.insertBefore(document.createElement('textarea'),the_form_element.firstChild).value='first textarea value';
the_form_element.insertBefore(document.createElement('textarea'),the_form_element.firstChild).value='second textarea value';
}
(似乎有很多關於迴流損害性能的討論。但我還是不知道是否存在任何規定或也許它只是取決於瀏覽器,尤其是有關提交表單,不管它是否有任何與迴流或渲染。)
願你添加一個明確的問題陳述你的問題?目前這裏有幾個問題,這些問題似乎相當公開,並且可能會吸引有見地的答案。 – evolutionxbox
請注意,表單提交與settimeout同步。你的意思是阻止代碼像一個永無止境的循環或實際上等待服務器的響應? – slebetman
@slebetman不,只是非常簡單的JavaScript添加元素,例如將2個'textarea'元素添加到表單中。點擊提交按鈕可以提交一個'textarea'嗎? – cshu