カテゴリ | その他 |
---|---|
サマリ | 入力済みテキストと重複しているものをはじきたい |
バージョン | |
投稿者 | たけし |
状態 | 質問 |
投稿日 | 2021-05-12 (水) 01:23:40 |
コメント機能等でメンバー募集の告知スペースを作ったところ、利己的な人が連投しログを流したり自分をより多く表示させようとするズルが横行して困っています。 ログの中に同じテキスト(判定は入力されたIDナンバーに当たる数桁の英数字)がある場合に、新たに追加できなくする方法はありませんでしょうか?
最低限の入力内容は ・IDナンバー それ以外に出来ればコメントやユーザー名程度も入力できれば目的を達することが出来そうな気がします。
ページ数が増えますがTrackerを使って(ページ名をID)できないかと思いましたが、重複する場合ページ名+1~が追加されていくだけで連投ページが乱立するのが目に見えています。
検索はしてみたのですが、検索が下手なのか目的を実現できそうなものは見つけられず行き詰っています。 お知恵をお貸しください。
(function(){ function handleCommentPlugin(form) { form.addEventListener('submit', function(evt) { var name = form.name && form.name.value; if (name) { var body = document.getElementById('body'); var links = body.querySelectorAll('a'); var found = false; links.forEach(function(a) { if (a.textContent.indexOf(name) >= 0) { found = true; } }); if (found) { alert('User ' + name + ' already commented.'); evt.preventDefault(); return; } } }, false); } function nameCheckOnLoad() { if (!document.querySelectorAll) return; var elements = document.querySelectorAll('input[type=hidden][name=plugin][value=comment],input[type=hidden][name=plugin][value=pcomment]'); for (var i = 0; i < elements.length; i++) { var form = elements[i].parentElement.parentElement; handleCommentPlugin(form); } } window.addEventListener && window.addEventListener('load', nameCheckOnLoad); })();