如何在 javascript 中发送前向 post 表单添加字段和值?

How to add a field and value to a post form before sending it in javascript?

我的意图是防止对我的联系表进行垃圾邮件攻击,使用 javascript 在表单作为 POST 发送之前附加一个字段 (is_legit=1)。

该脚本的工作原理是表单已发送但没有添加字段。我做错了什么?

这是js脚本:

<script>
$("#send").click(function() {
    var form = $("contact-form");
    var hiddenVar = document.createElement("input");
    hiddenVar.name="is_legit";
    hiddenVar.id = "is_legit";
    hiddenVar.type="hidden";
    hiddenVar.value = 1;
    $(form).appendChild(hiddenVar);
    $(form).submit();
});

以及带有发送按钮的表单:

<form id="contact-form" action="/contact" method="post">
<input...>
<button 
    id="send"
    class="button is-link is-primary" 
    name="send">
    send
</button>
</form>             

这就是解决方案。通过将值为 1 的“不可见”字段添加到 POST 数据...我希望这将阻止俄罗斯比特币的黑客攻击!

$("#send").click(function() {
    var $input = $('<input>').attr({type:'hidden',id:'is_legit',name:'is_legit',value:'1'}).appendTo('#contact-form');
    $('#contact-form').submit();
});