2011-06-27 75 views
15

我已經搜索了一個答案,但找不到一個!在表單提交前確認

我有一個簡單的表格,

<form action="adminprocess.php" method="POST"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 

我將如何調整這在處理表格前確認?

我試過onclick,但無法讓它工作。

任何想法?

更新 - 我現在有。

<script type="text/javascript"> 
var el = document.getElementById('myCoolForm'); 

el.addEventListener('submit', function(){ 
return confirm('Are you sure you want to submit this form?'); 
}, false); 
</script> 

<form action="adminprocess.php" method="POST" id="myCoolForm"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 
+1

什麼是你必須的onclick代碼? – AllisonC

+0

您必須在**表單在文檔中後添加偵聽器**。使用window.onload添加它,或者將該腳本放在頁面中的表單之後。 – RobG

+0

不知道它必須後來,但它是有道理的。感謝RobG。 – sark9012

回答

35

HTML:

<form action="adminprocess.php" method="POST" id="myCoolForm"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 

的JavaScript:

var el = document.getElementById('myCoolForm'); 

el.addEventListener('submit', function(){ 
    return confirm('Are you sure you want to submit this form?'); 
}, false); 

編輯:您可以隨時使用內聯JS代碼:如果您已經使用jQuery

<form action="adminprocess.php" method="POST" onsubmit="return confirm('Are you sure you want to submit this form?');"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 
+0

當我點擊按鈕時沒有什麼事情發生?只需進入adminprocess.php頁面! – sark9012

+0

您是否使用我提供的標記?你的HTML不包含我添加到表單的id元素,所以我可以通過'getElementById'方法獲取它。 –

+0

我複製並粘貼了代碼,它僅僅繞過了確認嘗試。我會用我現在所擁有的更新這個問題。 – sark9012

16
<input type="submit" onclick="return confirm('Are you sure you want to do that?');"> 
+0

@RobG你錯了一點。這'

'完美的作品 – Greenisha

+0

@RobG編輯了一下 – Greenisha

2

正確的事件是的onSubmit()和它應連接到的形式。雖然我認爲可以使用onClick,但onSubmit是正確的。

+1

沒有onsubmit事件。有一個名爲* onsubmit *的HTML屬性,但相關事件是[submit](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents )事件。 – RobG

+0

好的,這是關於語義的,因爲onclick不是事件,但我同意你的意見,因爲你指出正確的詞 –

1

..您可以使用事件處理程序在提交之前觸發

$(document).ready(function() { 
    $("#formID").submit(function(){ 
     // handle submission 
    }); 
}); 

參考: http://api.jquery.com/submit/

+0

不使用jQuery,但謝謝你的建議。絕對是我需要進一步瞭解的東西。 – sark9012

+0

如果你打算用javascript開發,我會強烈建議使用jQuery。它提供了一個你可能需要創建許多功能的平臺,它已經被創建。它的擴展性非常好。 – Atticus

+0

關於最好的地方的任何建議,以解決它?很簡單的jQuery網站? – sark9012

-2
如果您有更多然後一個提交你可以這樣來做不同的操作按鈕

<input TYPE=SUBMIT NAME="submitDelete" VALUE="Delete Script" onclick='return window.confirm("Are you sure you want to delete this?");'> 
0

var submit = document.querySelector("input[type=submit]"); 
 
    
 
/* set onclick on submit input */ 
 
submit.setAttribute("onclick", "return test()"); 
 

 
//submit.addEventListener("click", test); 
 

 
function test() { 
 

 
    if (confirm('Are you sure you want to submit this form?')) {   
 
    return true;   
 
    } else { 
 
    return false; 
 
    } 
 

 
}
<form action="admin.php" method="POST"> 
 
    <input type="submit" value="Submit" /> 
 
</form>