Javascript 使用jQuery处理表单中的无效输入
我有一个带有输入的表单,例如Javascript 使用jQuery处理表单中的无效输入,javascript,jquery,html,Javascript,Jquery,Html,我有一个带有输入的表单,例如 <td class="units_depth_form"> <input id="id_form-0-rain" name="form-0-rain" step="0.01" type="number" /> </td> 我在表单标签的末尾添加了'novalidate'。问题是当输入无效时,$(this).val()为空。是否有其他方法获取用户输入的值 在任何人提出解决方案之前,删除type='number'部分可以解决问题
<td class="units_depth_form">
<input id="id_form-0-rain" name="form-0-rain" step="0.01" type="number" />
</td>
我在表单标签的末尾添加了'novalidate'
。问题是当输入无效时,$(this).val()
为空。是否有其他方法获取用户输入的值
在任何人提出解决方案之前,删除type='number'
部分可以解决问题,但我不希望这样做。这个表单是通过一个ModelForm在Django中创建的,它将涉及大量的黑客攻击,这些攻击首先会破坏使用Django的目的 这似乎是因为他们在type=“number”
输入中发现无效数据
也许您最好的选择是使用
并自己实现向上和向下箭头。我发现周围有几种选择
如果由于Django的原因,表单输入必须使用type=“number”
创建,则可以在页面加载后立即在客户端上更改:
$(document).ready(function() {
$(".units_temp_form input").each(function(){
if ($(this).attr('type') == "number") {
$(this).attr('type', 'text');
}
});
});
这似乎是因为他们在type=“number”
输入中发现无效数据
也许您最好的选择是使用
并自己实现向上和向下箭头。我发现周围有几种选择
如果由于Django的原因,表单输入必须使用type=“number”
创建,则可以在页面加载后立即在客户端上更改:
$(document).ready(function() {
$(".units_temp_form input").each(function(){
if ($(this).attr('type') == "number") {
$(this).attr('type', 'text');
}
});
});
也许您可以在文档准备好后取出所有
type='number'
,并在提交表单时将其放回原处。谢谢您的建议。它可以解决这个问题,但是表单还有一个“步骤”属性,它指示表单在输入框中显示向上和向下箭头,以增加或减少给定步骤的值。删除“type”属性也会删除这些箭头。如果能够保留它们就好了。也许您可以在文档准备好后取出所有type='number'
,并在提交表单时将其放回原处。谢谢您的建议。它可以解决这个问题,但是表单还有一个“步骤”属性,它指示表单在输入框中显示向上和向下箭头,以增加或减少给定步骤的值。删除“type”属性也会删除这些箭头。如果能够保留它们就好了。也许您可以在文档准备好后取出所有type='number'
,并在提交表单时将其放回原处。谢谢您的建议。它可以解决这个问题,但是表单还有一个“步骤”属性,它指示表单在输入框中显示向上和向下箭头,以增加或减少给定步骤的值。删除“type”属性也会删除这些箭头。能留住他们真是太好了。昨晚我从这件事上得出了同样的结论。谢谢你给我其他选项的链接。我昨晚也从中得出了同样的结论。谢谢你给我其他选项的链接。我昨晚也从中得出了同样的结论。感谢您提供其他选项的链接。