Html 如何在输入验证时更改alt文本

Html 如何在输入验证时更改alt文本,html,validation,Html,Validation,我有一个非常简单的表单,带有一个输入字段和一个提交按钮: <form action="#"> <input type="number" min="1" /> <input type="submit" name="submit" /> </form> 在输入字段中键入“0”并提交表单时,将显示验证错误消息。我还注意到,当我将鼠标悬停在无效输入字段上时,alt文本被设置为相同的验证消息。是否可以更改alt文本以及如何更改?您可以向元素添加

我有一个非常简单的表单,带有一个输入字段和一个提交按钮:

<form action="#">
    <input type="number" min="1" /> <input type="submit" name="submit" />
</form>


在输入字段中键入“0”并提交表单时,将显示验证错误消息。我还注意到,当我将鼠标悬停在无效输入字段上时,alt文本被设置为相同的验证消息。是否可以更改alt文本以及如何更改?

您可以向元素添加一个id,以便于在javascript中引用:

<form action="#">
    <input id="num" type="number" min="1" /> <input type="submit" name="submit" />
</form>

document.getElementById('num').alt = 'your text here'
document.getElementById('num').title = 'your text here'

document.getElementById('num').alt='yourtexthere'
document.getElementById('num')。title='yourtexthere'

除了alt文本(如果图像无法加载,则显示文本)之外,设置标题(弹出文本)也可能很有用。

HTML5约束验证API可能是一个更好的解决方案,因为在Chrome中,至少更改“title”属性不会完全改变错误消息,但会部分改变错误消息。您可以像这样使用setCustomValidity()方法

<form action="#">
   <input id="num" type="number" min="1" /> <input type="submit" name="submit" />
</form>

document.getElementById('num').setCustomValidity('your full message text here')

document.getElementById('num').setCustomValidity('此处是您的完整消息文本')

请参见输入元素不是图像,而是数字。设置alt属性不会更改验证消息您的问题是关于如何更改alt文本。如果您试图更改弹出文本,您应该更改标题属性。啊,我误解了您的答案-设置标题时它起作用:-)