【问题标题】:Best solution to maxLength being ignored忽略 maxLength 的最佳解决方案
【发布时间】:2024-04-26 15:20:02
【问题描述】:
<input type="TEXT" name="smth" maxLength="19 "id="smthid">

工作正常。但是我遇到了用户可以输入超过 19 个字符的情况。 (xperia 上的移动浏览器,而其他一些手机工作正常......)
解决这个问题的最佳解决方案是什么

【问题讨论】:

  • 这取决于你为什么需要这个,是帮助用户不要输入太多文本,还是保护服务器不接收太多文本?
  • @Guffa 两者。假设用户必须输入社会安全号码,限制最大长度有很大帮助,servervise 也很有用

标签: html mobile browser maxlength


【解决方案1】:

有几种不同的方法可以解决此类问题,具体取决于您希望用户获得什么样的体验,例如:

  • 添加一个 Javascript 来监听 keypress 事件,如果文本太长,则删除字符。
  • 添加一个 Javascript 来验证提交时的表单,并且不允许用户提交值过长的表单。
  • 如果值太长,则拒绝服务器端的输入,并将用户返回到表单。
  • 如果太长,请减少服务器端的值。

每种方法都有其自身的缺点,无论是复杂性还是用户体验。

请注意,您永远不能完全依赖浏览器中的代码来保护服务器免受无效输入的影响,您应该始终在服务器端进行必要的验证。

【讨论】:

    最近更新 更多