【问题标题】:prevent submitting if invalid read-only只读无效时阻止提交
【发布时间】:2018-07-17 18:07:39
【问题描述】:

有没有办法防止在不使用自定义 JS 代码的情况下提交具有无效但只读输入的表单?

<form>
    <input name="number" type="number" value="-1" min="0" readonly>
    <input type="submit">
</form>

【问题讨论】:

  • 不。如果是readonly,则意味着您(开发人员)拥有控制权。而且一开始就不要提供无效的东西对你有点不利:)
  • 我有一个依赖于用户输入的输入,我允许无效值,以便他知道他应该更改多少输入(而不是仅仅告诉他您的输入无效)

标签: html forms validation input


【解决方案1】:

我有一个选择,我检查用户是否从带有 indexOf 的列表中引入一个值:

if ([1,3,12].indexOf(foo) > -1)

一旦用户选择,输入变为只读:

document.getElementById("location").readOnly = true;

提交时,如果位置不是只读的,则阻止提交。

*已编辑:如果用户没有选择值,我发现的另一种方法是清空输入:

var inp = document.getElementById('youInput');
inp.addEventListener("blur", function(e) {
   if(postcodes.indexOf(inp) == -1)   {
    inp.value = '';
    alertify.error('Please choose a location from the list.');   
    return false; 
  }
 return true;     
 });

【讨论】:

  • 我试图在没有 js 的情况下做到这一点 without using custom JS code
  • 抱歉,我现在看到了
猜你喜欢
  • 1970-01-01
  • 2021-08-26
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多