我有一个表单,其中包含以下内容:
<td class="td_mid">
<input type=text class="form-control input_mid" name="offset" value="<?php if (isset($_POST['encode']) || isset($_POST['decode'])) { echo htmlspecialchars($_POST['offset']);} ?>" placeholder="Enter a number." pattern="[0-9]{0,3}" oninvalid="setCustomValidity('Please enter a number between 1 and 999.' oninput="setCustomValidity('')")"></td>
之前,我没有oninput =“setCustomValidity('')”。当我没有oninput =“setCustomValidity('')”时,如果我输入一个超出范围的值,它会显示我应该的错误信息。但是,如果我在输入中输入新数字,则无法识别该值已更改并认为其无效。
当我添加oninput =“setCustomValidity('')”时,它不会显示我的自定义错误消息。是什么赋予了?是否有纯HTML解决方案?
答案 0 :(得分:0)
延伸评论:
您的代码中有拼写错误。改变这个
<input oninvalid="setCustomValidity('Please enter a number between 1 and 999.'
oninput="setCustomValidity('')")">
到这个
<input oninvalid="setCustomValidity('Please enter a number between 1 and 999.')"
oninput="setCustomValidity('')">
应该解决问题。