Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否为表单操作使用数据属性?_Javascript_Jquery_Forms_Custom Data Attribute - Fatal编程技术网

Javascript 是否为表单操作使用数据属性?

Javascript 是否为表单操作使用数据属性?,javascript,jquery,forms,custom-data-attribute,Javascript,Jquery,Forms,Custom Data Attribute,我有一个客户谁真的讨厌验证码,但它是必要的,否则有太多的垃圾邮件提交。我让一个人推荐以下内容: 将您的web表单和表单操作仅包含在数据标记(html5)中,然后在完成表单后提交表单处理操作。没有表单操作,没有机器人可以填写和提交,也没有对表单外观或操作方式的修改 如果我有这样一个表单: <form action="/FormProcessv2.aspx?WebFormID=10090&amp;OID={module_oid}&amp;OTYPE={module_otype}

我有一个客户谁真的讨厌验证码,但它是必要的,否则有太多的垃圾邮件提交。我让一个人推荐以下内容:

将您的web表单和表单操作仅包含在数据标记(html5)中,然后在完成表单后提交表单处理操作。没有表单操作,没有机器人可以填写和提交,也没有对表单外观或操作方式的修改

如果我有这样一个表单:

<form action="/FormProcessv2.aspx?WebFormID=10090&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}" enctype="multipart/form-data" onsubmit="return checkWholeForm15174(this)" method="post" name="catwebformform15174">

如何修改操作URL以使用数据属性?它需要JS才能正常工作吗?这个想法是如何运作的

注意:我搜索了谷歌,但没有找到任何关于使用数据属性和操作的信息。我还在网站上使用jquery2.0.3


欢迎提供任何指导。

如何工作,在表单提交时(当您当前的M15174支票有效时,称为此交换)

假设您的表单已修改为:

<form action="" data-action="/FormProcessv2.aspx?WebFormID=10090&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}"  enctype="multipart/form-data" onsubmit="return checkWholeForm15174(this)" method="post" name="catwebformform15174">


是的,它需要Javascript。但是,如果机器人足够聪明,能够做到这一点,我也不会感到惊讶。@AndrewBarber-事实上,我发现许多机器人没有执行javascript,因为它会降低它们扫描页面的速度。你有这样的例子吗?或者你能给我指一个有信息的地方吗?此外,如果我能让这个工作,我会把它的测试,看看如何垃圾邮件提交去,可以报告作为编辑或评论回来。这个想法听起来半生不熟。我不知道如何在数据属性中隐藏操作,然后在提交表单时将其替换掉,从而完全避免了bot。大多数机器人可能会尝试自己提交表单,但也只是简单地调用表单提交时使用的代码,这也会“解锁”隐藏的操作。l@AndrewBarber-作为更新,垃圾邮件提交已从每天50-100次增加到0次!虽然我知道这并不能完全证明它有助于防止我网站上的垃圾邮件。=>凉爽;听起来这绝对值得!或者,您可以这样编写:
$('#myFormName')[0].action=dataAttr.action
yessiree,从较旧的SO post中提取了一些较旧的代码…:-)谢谢你的帮助。我在脚本中使用了@ultraviol3tlux方法。我的垃圾邮件也归零了!虽然我知道这并不能完全证明它是有效的。再次感谢你的帮助。
<form action="" data-action="/FormProcessv2.aspx?WebFormID=10090&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}"  enctype="multipart/form-data" onsubmit="return checkWholeForm15174(this)" method="post" name="catwebformform15174">