微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – symfony:如何将屏幕放在表单错误上?

我的一些网页很长,页面底部一个表格.在发送未通过验证的表单后,我将回到页面顶部,这对用户不太友好.

我想找到一种方法,在错误之后,将滚动放在错误上,或至少在表单的顶部.

有谁知道控制这个的方法

我做了,使用javascript

{% if not form.vars.valid %}
    window.location.hash = 'form';
{% endif %}

我不认为它很干净.你知道另一种方式吗?

解决方法:

您可以使用自动对焦HTML属性. JavaScript无需实现此目的.

<input type="text" name="field_name" autofocus>

可以像这样添加属性

{{ form_row(form.field_name, {'attr': {'autofocus': null}}) }}

检查字段错误的简单实现可能如下所示:

{% if form.field_name.vars.errors|length %}
  {{ form_row(
       form.field_name, 
       form.field_name.vars|merge({'attr': {'autofocus': null}})
     ) 
  }}
{% else %}
  {{ form_row(form.field_name) }}
{% endif %}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐