当JavaScript被禁用或不可用时,防止使用AJAX提交的表单提交

我的网站上有很多使用jQuery ajax提交的表单。 当我最近禁用JavaScript进行一些测试时,我注意到这些表单以通常的方式提交。</ p>

当javascript为javascript时,是否还有什么可以阻止它们被提交 不可用或禁用?</ p>

我的表单没有方法</ code>或 action </ code>。 这些是在ajax本身中指定的。 我使用按钮</ code>而不是</ p>

我能做些什么来阻止它们被提交?</ p>

我知道我可以 在页面加载后生成/启用按钮和事物,但是如果用户在页面加载后故意禁用JavaScript会怎么样?</ p>
</ div>

展开原文

原文

I have quite a few forms on my site that are submitted using jQuery ajax. When I recently disabled JavaScript to do a bit of testing, I noticed these form submit the usual way.

Is there anything that can be done to prevent them from being submitted at all when javascript is not available or disabled?

My forms do not have a method or action. These are specified in ajax itself. I use a button instead of

Anything I can do to stop them from being submitted?

I know I can generate/enable buttons and things after the page loads, but what if a user were to deliberately disable JavaScript after the page loaded?

dongshuxi3105
dongshuxi3105 我是goanna尝试使用像@user574632建议的链接
6 年多之前 回复
dousha4804
dousha4804 他应该已经使用了包含文本的noscript标记,并且当用户没有在浏览器上启用javascript时可以看到。只需在此网站上禁用javascript,看看我的意思。将#放入href是糟糕的用户体验,因为浏览器会立即滚动到顶部。我不建议这样做。
6 年多之前 回复
doulu6160
doulu6160 我的第一个评论回答了这个问题,这只是一个后续行动。关于noscript重定向,作为一个用户,我宁愿看到一个js必需的消息,而不是一个没有明显原因的表单
6 年多之前 回复
doulangbizhan5160
doulangbizhan5160 不要在表单中使用提交按钮,表单将不会提交。而ajax的触发器甚至可以是一个链接。
6 年多之前 回复
dougourang1856
dougourang1856 这是一种非常肮脏的编码方式,更不用说没有做OP所要求的了。他只是想在禁用javascript时禁用该表单。
6 年多之前 回复
dougu7546
dougu7546 或者只是在其他地方转储非js用户:<noscript><metahttp-equiv=“refresh”content=“0;url=noscript.html”></noscript>
6 年多之前 回复
drlndkhib08556095
drlndkhib08556095 或者也许删除表单元素并在javascript中手动收集输入以进行提交?
6 年多之前 回复
dqwh1208
dqwh1208 从点击事件中提交除提交按钮以外的其他内容,例如使用href='#'标记样式
6 年多之前 回复

2个回答



如果您将提交按钮设为div,a或标签以外的任何内容,则不会使用表单包装器发布。 这允许根据您的需要进行优雅降级。 除非JavaScript已启用并正在侦听,否则在不使用表单时不会执行操作。 在这种情况下使用a标签将允许您仍然提交,如果您需要,但通过ahref属性而不是表单操作。 此外,Internet Explorers可能会有不同的行为,因此请密切注意并彻底测试。</ p>

另请参阅:
何时使用按钮元素
http://css-tricks.com/use-button-element/ </ p>
</ div>

展开原文

原文

If you make your submit buttons a div, a or anything other than a tag it will not post using the form wrapper. this allows for a form of graceful degradation based on your needs. when not using the the form doesn't act unless the JavaScript is enabled and listening. using the a tag in a situation like this would allow you to still submit if you wanted but via the ahref attribute and not the form action. also the Internet Explorers might behave differently so keep an eye out and test thoroughly.

see also: When To Use The Button Element http://css-tricks.com/use-button-element/



我的建议是处理服务器端逻辑中的错误表单帖子。 这个表格必须正确到位。 然后,如果用户已禁用js,则仍​​会进行有效性检查,以防止垃圾邮件进入服务器。 最终,用户可以选择启用或禁用它。 例如,这可以防止机器人和其他垃圾邮件进入服务器的数据库。</ p>
</ div>

展开原文

原文

my suggestion is to handle bad form posts in the server side logic. This form must be going somewhere right. then if user has js disabled, there is still validity checks, preventing junk from hitting the server. Ultimately, the user has a choice to enable or disable it. This will prevent bots, and other spam from hitting the server's database for example.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐