2017-04-11 41 views
1

我有一個表單提交前確認午餐的確認模式,這種模式有提交按鈕,並不在<form>內,除了IE以外的其他地方,在IE中它只是沒有做任何事情。從模態引導提交表格

<form action="" id="form" name="form" > // start form 

在模態,這是提交按鈕

<button id="btnSend" type="submit" form="form">OK</button> 

嘗試添加的形式隱藏提交按鈕在其他職位,但沒有工作suggestted。

+0

你可以嘗試在IE的情況下,與JS發佈形式:'的document.getElementById('FO RM')。提交()'。當用戶點擊模式確認按鈕時,只需觸發此代碼即可。 – DontVoteMeDown

回答

4

IE或Edge不支持form屬性。因此,您應該處理點擊操作並手動提交表單以支持跨瀏覽器。

您還需要在表單中添加一個隱藏的提交按鈕,如果你想最終用戶提交表單時,輸入字段按enter ..

document.getElementById('btnSend') 
    .addEventListner('click', function (event) { 
     document.getElementById('form').submit(); 
    }) 
; 

編輯:瀏覽器的支持概述形式屬性caniuse

+0

謝謝,沒有意識到它不是在邊緣工作。 –

0

$(document).on('click', '#btnSend', function() { 
 
\t $('#form').submit(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<form action="" id="form" name="form" onSubmit="alert('submitted')"></form> 
 

 
<button id="btnSend" type="submit" form="form">OK</button>

+0

當您已經手動處理它時,您應該從提交按鈕中移除'form'屬性。否則,它將在支持該屬性的瀏覽器上提交兩次。 –

+0

onsubmit屬性只是爲了演示它實際上正在提交。 –