Javascript Live Validation:onchange 仅在第一次触发
Javascript Live Validation: onchange triggered only the first time
我有一个带有选择框和输入字段的表单:当选择的选项值为"8"时,我会让输入字段必须小于 250
选择框
<select id="select_5" size="1" title="Effettua una scelta!" name="tipo_nolavorazioni" onChange="updatethis(this.form);">
<option value="8"> A </option>
<option value="1"> B</option>
<option value="2"> C</option>
<option value="3"> D </option>
</select>
输入框
<input class="required validate-number" maxlength="150" size="5" id="text_2" name="base" type="text" onChange="updatethis(this.form);" value="" />
<p id="errore_base"></p>
在JS文件上,我添加了以下内容:
function updatethis(form) {
if (tipo1==8) {
window.addEvent('domready', function(){
var valid = new LiveValidation('text_2', {insertAfterWhatNode : "errore_base"});
valid.add(Validate.Numericality, { maximum: 250, tooHighMessage: "Max 250cm" });
});
}
}
这有效,但是如果我更改选项值(例如B = 1)..错误消息仍然存在,并且我无法处理我的表单。我错在哪里?
这行得通吗?我从未亲自使用过LiveValidation
库,但在查看 API 后,我想这会起作用。您需要将对验证程序的引用存储在函数外部的某个位置(在更高的范围内),并使用 add
和 remove
方法来控制 UI。
有关详细信息,请参阅:http://livevalidation.com/documentation#LiveValidationRemove
var validator = new LiveValidation('text_2', {insertAfterWhatNode : "errore_base"})
function updatethis(form) {
var action = 'remove';
if (tipo1 == 8) {
action = 'add';
}
window.addEvent('domready', function(){
validator.add(Validate.Numericality, { maximum: 250, tooHighMessage: "Max 250cm" });
});
}
相关文章:
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 删除确认对话框在第一次单击时不起作用
- Javascript:JSON请求仅在第一次工作
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 角度提交仅进行第一次v2错误
- 设置第一次执行的超时
- 为第一次尝试Javascript的经验丰富的开发人员提供建议
- jQuery on()-不;第一次点击时无法工作
- 第一次点击动态创建的表后,点击不工作
- 在Rails中第一次单击后禁用链接,Coffeescription
- PHP和JS脚本的奇怪问题,在我刷新页面之前第一次失败
- 循环中的切换脚本只适用于第一次迭代
- 在没有焦点的情况下捕获画布上的第一次单击事件
- Javascript onclick事件在第一次单击时未启动
- 让jqGrid第一次工作
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 为什么onchange事件没有在第一次更改时启动
- Javascript Live Validation:onchange 仅在第一次触发
- Javascript-onchange函数只在html select中工作一次(第一次更改后)
- Javascript OnChange未在第一次更改时启动