【发布时间】:2015-06-17 12:53:44
【问题描述】:
我有一个带有输入的表单,例如
<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',并在提交表单时将它们放回去。 -
感谢您的建议。它会解决这个问题,但是表单还有一个“step”属性,它指示表单在输入框中显示向上和向下箭头,以按给定的步长增加或减少值。删除“类型”属性也会删除这些箭头。能够保留它们会很好。
标签: javascript jquery html