[JQuery]動態新增的form無法被 IE submit

  • 354
  • 0
  • 2016-11-18
$("<form></form>").submit();  // 在IE沒有效果

測試的時候遇到Form無法Submit的問題

因為提交給客戶前的自我測試是沒問題的

於是用IE與Chrome測試看看

發現Chrome可以正常運作

但IE完全沒有畫面

原始程式代碼如下:

$("<form action='ExportToPDF' method='post'><input name='CASE_NO' value='" + caseno + "' /></form>").submit();

後來才發現用這種方法建立Form會被IE擋掉

於是改寫為下:

1.先於body中建立一個隱藏的form

<form id="SubmitForm" hidden>
    <input name='caseno' />
</form>

2.設定值並submit

var form = $("#SubmitForm");
form.prop("action", 'ACTION_URL');
form.children("input[name='CASE_NO']").val("VALUE");
form.submit();

 

這樣就可以正常Submit了

後來問了才知道舊的寫法可能有安全性的問題

所以才被IE阻擋掉。

Write By Charley Chang 


新手發文,若有錯誤還請指教,
歡迎留言或Mail✉給我

創用 CC 授權條款


本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權.