我有一個簡單的html聯繫表格與驗證檢查。驗證並提交表單後,重置表格+更改一些css樣式
我想在成功提交表單後執行一些命令。但是,我已經設定了這整個事情的方式......我無法讓它工作。
HTML聯繫表:
<form id="mycontact_form" name="form_name" method="post" onsubmit="return validateForm();" action="https://domain.tld/cgi-bin/sendformmail.pl">
validateForm.js:
function validateForm() {
//validating input fields
if (!valid){
return false;
} else {
if(condition1 == true)
{
document.form_name.submit(); return;
}
else {
// doing stuff to form content
document.form_name.submit(); return;
}
}
}
當提交按鈕被按下,表單驗證,將sendformmail.pl提交perl腳本返回一個HTML Status 204
,這樣用戶就停留在這個頁面上,並且不會重定向(這是我得到這部分工作的唯一方法)。
現在我想一個成功提交後,擁有的是:
- 清除/復位形式和
- 一些小的UI的東西:2元+佔位的變化背景/內文2輸入領域爲謝謝您消息。
但是,例如,如果我把document.form_name.reset()
document.form_name.submit()
後,它太快。它在提交之前重置表單。我還嘗試在onsubmit
的validateForm()
之後調用另一個(獨立)函數,但這似乎是錯誤的(至少,它不起作用)。
所以我想我需要把這2件事(重置+ CSS更改)放在一個單獨的函數中,並在成功提交表單後調用它。 但是,如何,何時何地?
我對學習一個簡單而有效的解決方案非常感興趣。 (但jQuery也可用)
謝謝你的幫助。
您的表單是sendformmail.pl文件的一部分嗎? – Alex
表單位於html網站上。 perl腳本用於評估表單數據並將其作爲電子郵件發送。 我找到了腳本[here](http://www.scriptarchive.com/formmail.html)。 – user2690888