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 %}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...