在用javascript发送post表单之前,如何向其添加字段和值?
我反对对我的联系人表单进行垃圾邮件攻击的目的是,在表单作为POST发送之前,使用javascript在表单中附加一个字段(is_legit=1) 脚本的工作原理是表单已发送,但没有添加字段。我做错了什么 这是js脚本:在用javascript发送post表单之前,如何向其添加字段和值?,javascript,post,appendchild,Javascript,Post,Appendchild,我反对对我的联系人表单进行垃圾邮件攻击的目的是,在表单作为POST发送之前,使用javascript在表单中附加一个字段(is_legit=1) 脚本的工作原理是表单已发送,但没有添加字段。我做错了什么 这是js脚本: <script> $("#send").click(function() { var form = $("contact-form"); var hiddenVar = document.createElemen
<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();
});
$(“#发送”)。单击(函数(){
变量形式=$(“联系形式”);
var hiddenVar=document.createElement(“输入”);
hiddenVar.name=“合法”;
hiddenVar.id=“合法”;
hiddenVar.type=“隐藏”;
hiddenVar.value=1;
$(表格).appendChild(hiddenVar);
$(表单).submit();
});
以及带有“发送”按钮的表单:
<form id="contact-form" action="/contact" method="post">
<input...>
<button
id="send"
class="button is-link is-primary"
name="send">
send
</button>
</form>
发送
这就是解决方案。通过在POST数据中添加一个值为1的“不可见”字段,它可以100%使用表单中的“发送”按钮。。。我希望这能阻止俄罗斯比特币的入侵
$("#send").click(function() {
var $input = $('<input>').attr({type:'hidden',id:'is_legit',name:'is_legit',value:'1'}).appendTo('#contact-form');
$('#contact-form').submit();
});
$(“#发送”)。单击(函数(){
var$input=$('').attr({type:'hidden',id:'is_legit',name:'is_legit',value:'1'}).appendTo('#contact form');
$(“#联系方式”).submit();
});
该脚本无法正常工作,$(“联系人表单”)
不会在此处选择任何内容。@CBroe没有js错误,至少表单已正确发送$(表单)。submit();那么,您能进一步帮助吗?“至少表单是用$(form.submit())正确发送的”-不,不是。它是基于您的按钮是提交按钮而发送的。“没有js错误”-您可能没有看到它们,因为页面会重新加载(因为表单会提交,这是正常的方式)-因此,请设置浏览器控制台以在页面更改之后保留错误消息。您应该在这里看到的第一个错误是未捕获的TypeError:$(…).appendChild不是函数
–appendChild是本机DOM方法,不能在jQuery对象上调用它。如果您通过使用$(form)[0].appendChild
来解决这个问题([0]
来获取对该jQuery集合中第一个DOM元素的引用),那么您将得到未捕获的TypeError:无法读取未定义的的属性“appendChild”-正如我所说的,$(“联系人表单”)
没有选择任何元素作为开头。@CBRoe如何设置Mac Firefox控制台以在页面更改之外保留错误消息?