【问题标题】:How to make input valid with js?如何使用js使输入有效?
【发布时间】:2023-04-03 08:20:01
【问题描述】:

我有一个必需的输入:

<input type="text" id="input-id" required>

当用户提交它时,我用 ajax 发送它的值,然后用它清除它 $("#input-id").val("")
在它输入变得无效之后,但我想让它看起来像它在页面加载后立即执行的那样。我怎么能用js做呢?也许我应该以另一种方式清除输入?

【问题讨论】:

  • 我想我可能误解了你想要的。输入文本在ajax之前有什么值,之后又有什么值?

标签: javascript html css frontend required


【解决方案1】:

尝试做here写的事情:

document.getElementById(selector).reset();

如果您想重置特定字段,请尝试使用defaultValue

function reset() {
  field = document.getElementById('field');
  field.value = field.defaultValue;
}
<input id="field" type="text" required>
<button onclick="reset()">reset field</button>

另一种解决方案是在表单中定义一个表单,其中仅包含您要重置的字段,然后重置内部表单。

【讨论】:

  • 它只适用于表单,而我想将其应用于输入
  • @DeadUnicorn 你是对的,我编辑了答案,检查它是否适合你
  • 和$(selector).val("")的效果一样。字段失效后
  • @DeadUnicorn 阅读了我建议的表单解决方案中的表单
【解决方案2】:
$(document).ready(function () {
   $("#input-id").val("");
   //If you also want to set innerText:
   var ele = document.getElementById('input-id');
   ele.innerText= $("#input-id").val();
};

一旦文档准备好(页面已加载),输入就会无效。把它放在你认为合适的地方。

【讨论】:

  • 问题是让它在$("#input-id").val("") 之后有效(不要在里面放文字)
  • @DeadUnicorn 澄清一下,你是只关心 val() 还是关心 innerText?
  • @DeadUnicorn 添加了一个 innerText 东西,如果那是你想要的?
猜你喜欢
  • 2019-06-28
  • 1970-01-01
  • 2016-06-14
  • 2020-09-02
  • 2021-10-23
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多