form表单textarea强制刷新有值还提示请输入
时间: 2024-09-23 13:13:56 浏览: 35
form
当在一个HTML `<textarea>` 表单元素中尝试获取用户输入并期望其显示更新时,如果内容为空但仍提示“请输入”,这通常是因为浏览器缓存了初始值或验证设置存在问题。为了实现即时刷新并检查文本框是否有值,你可以这样做:
1. **JavaScript**:
- 使用`oninput`事件监听器,每当用户在textarea中输入时,立即检查值,并清除提示。
```javascript
<textarea id="myTextarea" oninput="checkInput(this)"></textarea>
<script>
function checkInput(textarea) {
if (textarea.value.trim() !== '') {
// 非空则隐藏提示
textarea.setCustomValidity('');
} else {
// 提示用户输入
textarea.setCustomValidity('请输入内容');
}
}
</script>
```
2. **jQuery**:
```html
<textarea id="myTextarea"></textarea>
<script>
$("#myTextarea").on("input", function () {
if ($(this).val().trim()) {
$(this).prop("validity", { validity: {} });
} else {
$(this).prop("invalid", true);
$(this).attr("aria-invalid", "true");
}
});
</script>
```
在这两个例子中,我们通过设置`<textarea>`的`customValidity`属性或者使用jQuery的`prop`方法来控制是否显示提示。只有当`textarea`的内容不再是空白时,提示才会消失。
阅读全文