javascript - JS setCustomValidity 第一次不起作用
问题描述
我想为我的表单制作一条自定义有效性消息,但出现了一些问题。
单击两次后将显示有效性消息。如果我第一次没有输入正确的单词“text”,那么它将不再提交。我的代码有什么问题。
JS:
function a(){
jQuery("#text")[0].setCustomValidity("");
if (jQuery("#text").val() == "text"){
return confirm('sure?');
}
jQuery("#text")[0].setCustomValidity("Incorrect");
return false;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="/" method="post" onsubmit="return a();">
<input type='text' id="text"/>
<input type="submit" value="submit"/>
</form>
解决方案
请尝试检查以下解决方案:
$(document).on('click',"#submit_btn", function()
{
if($("#text").val() === "text")
return confirm('sure?');
else
$("#text")[0].setCustomValidity("Incorrect");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="/" method="post">
<input type='text' id="text"/>
<input type="submit" value="submit" id="submit_btn"/>
</form>
推荐阅读
- python - 如何将结果值添加到 tsv 文件?
- html - 如何实现两个输入并排?
- android - 在 Flutter 应用中播放背景歌曲
- sql - 获取下一个 TimeStamped Result 以绑定到先前的结果
- amazon-web-services - AWS EventBridge - 使用第一个目标的输出作为下一个目标的输入
- flutter - 有值时更改 TextField 的颜色边框
- java - 没有 bean 有资格注入到注入点[JSR-365 5.2.2]
- logging - 使用 Specflow.MsTest 并行运行测试时对日志进行排序
- pcap - “ValueError”对象没有属性“_render_traceback_”
- docker - 上传docker镜像到谷歌云平台:https://grc.io/v2/: Service Unavailable