当用户禁用了javascript时,我想让ajax.beginform完全不做任何事情,而不是提交常规的整页帖子请求。什么是实现这一目标的正确方法?
答案 0 :(得分:1)
如果页面中有form
标记且javascript已停用,则无论您做什么,都可以随时提交。即使您删除action
属性,它也会提交到同一页面。因此,您可以使用<noscript>
标记为禁用javascript的用户提供替代标记。另一种可能性是使用CSS隐藏提交按钮并使用javascript显示它(这样只有启用了JS的用户才能看到它)但这并不理想,因为在输入内部输入时按Enter键仍然可以提交表单。 / p>
我认为更好的方法是让表单提交常规请求,并在控制器操作中处理此案例并做出相应的反应:
if (Request.IsAjaxRequest())
{
// act as normal
return PartialView();
}
else
{
// the user had javascript disabled
return View();
}