Вот простой пример, демонстрирующий желаемую функциональность.
Для файла cookie устанавливается срок действия 7 дней.Когда кнопка нажата, событие onclick проверяет, установлен ли cookie, если оно есть, оно отклоняет отправку, возвращая false.В противном случае, функция устанавливает cookie и позволяет пройти через отправку.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ что это не гарантирует что-либо, как любое (не новичок)) пользователь может удалить свои куки и повторно отправить запись.
<script type="text/javascript">
// Thanks to http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
</script>
<form action="#" method="POST">
<input id="button-id" type="submit" value="Submit" />
</form>
<script type="text/javascript">
var btn = document.getElementById("button-id");
btn.onclick = function() {
var cookie_name = 'submitted_entry';
btn.disabled = 'disabled';
if( readCookie( cookie_name))
{
alert( 'You can not submit an entry again!');
return false;
}
else
{
createCookie( cookie_name, 1, 7);
}
}
</script>