我很新的HTML表單,但我試圖限制每個用戶每天提交1
請求。所以我沒有任何人發送垃圾郵件。我不是最好的編碼員,但不是最差的。如何創建一個只允許每個用戶每天在HTML中提交一次的表單?
實施例(以字,而不是代碼):
If user has not submitted the form today:
形式允許人提交。
If user HAS submitted the form today:
表不允許人提交的形式,通知他們。
請HTML和的JavaScript注意這隻請!
我很新的HTML表單,但我試圖限制每個用戶每天提交1
請求。所以我沒有任何人發送垃圾郵件。我不是最好的編碼員,但不是最差的。如何創建一個只允許每個用戶每天在HTML中提交一次的表單?
實施例(以字,而不是代碼):
If user has not submitted the form today:
形式允許人提交。
If user HAS submitted the form today:
表不允許人提交的形式,通知他們。
請HTML和的JavaScript注意這隻請!
我不認爲你可以做到這一點只有客戶端技術(如HTML和JS),因爲他們是基於會話。如果用戶打開不同的瀏覽器,甚至關閉並打開相同的瀏覽器,那麼JS和HTML又是「新」。如果您使用存儲提交和時間戳的客戶端cookie,但您不能阻止用戶使用其他瀏覽器再次提交,那麼您可以使用對每個瀏覽器進行限制。
這是一個關於cookie創建和閱讀鏈接:Set cookie and get cookie with JavaScript
HTML和JS唯一的解決辦法:
if (confirm("have you made a request today? 'OK' means YES, and 'Cancel' means No")) {
document.getElementById("submitBtn").disabled = true;
} else {
document.getElementById("submitBtn").disabled = false;
}
<form>
First name:<br>
<input type="text" name="firstname"><br> Last name:<br>
<input type="text" name="lastname"><br>
<button type="submit" id="submitBtn">Submit</button>
</form>
呀,不是真的有可能。會話或cookie可以輕鬆繞過其他人提到的...
您可以嘗試使用驗證碼防止垃圾郵件。
可能的重複https://stackoverflow.com/questions/13495833/limit-the-number-of-time-a-form-can-be-submitted – koolkat
這些應該完成服務器端 – MinusFour
您將需要某種的存儲知道該客戶是否已經提交了表單,並且因爲您只希望在html/js中使用本地存儲/ cookie,但客戶可以簡單地清除瀏覽器數據並重新提交或使用其他瀏覽器進行提交客戶端會有問題,並不能保證你想要的東西。 – NewToJS