我有一个带有输入的表格,例如
<td class="units_depth_form">
<input id="id_form-0-rain" name="form-0-rain" step="0.01" type="number" />
</td>
并且我想允许用户输入单位。例如,表单可以期望以英寸为单位的值,但我允许用户输入'20 cm'
,而在离开文本框时将包含'7.87'
。
为此,我在页面的JavaScript部分中包含以下jQuery代码:
$(".units_temp_form input").focusout(function() {
// Convert and replace if valid double ending with 'cm'
我'novalidate'
在表单标签的末尾添加了 问题是$(this).val()
输入无效时为空。还有另一种获取用户输入值的方法吗?
在任何人提出解决方案之前,删除type='number'
零件将解决问题,但我宁愿不这样做。此表单是通过Django通过ModelForm创建的,它将涉及大量的黑客攻击,这些攻击首先会破坏使用Django的目的。
这似乎是浏览器在type="number"
输入中发现无效数据时的行为方式。
也许您最好的选择是自己使用<input type="text"/>
和实现上下箭头。周围有几种选择,我发现其中一种看起来不错,而另一种却一直保持按下状态。
如果必须使用type="number"
Django创建表单输入,则可以在页面加载后立即在客户端上更改表单输入:
$(document).ready(function() {
$(".units_temp_form input").each(function(){
if ($(this).attr('type') == "number") {
$(this).attr('type', 'text');
}
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句