【发布时间】:2011-03-27 03:47:42
【问题描述】:
尝试做一些 jQuery 验证(没有插件 - 请不要回答“只需使用 validate-js 插件”)。
我正在为文档准备好的每个“必填字段”连接一个客户端事件处理程序keypress:
$(document).ready(function() {
$('#myform input.required').each(function() {
$(this).keypress(onRequiredFieldKeyPress);
});
});
在每次按键时正确触发此事件:
function onRequiredFieldKeyPress() {
if ($(this).val().trim() == '') {
$(this).next('em').html('*').show(); // show req field indicator
} else {
$(this).next('em').html('*').hide(); // hide req field indicator
}
}
但是 $(this).val() 始终为空/空。看起来它传递了一个“HTMLInputElement”,这是我所期望的,但几乎就像我必须将其 project 到其他一些 jQuery 类型中?
基本上我正在尝试这样做:在我已连接的任何字段(都是输入元素)的按键事件中,调用该函数。在该函数中,如果该字段的值为 ''(空),则显示一个隐藏字段,该字段显示必填字段指示符。
我并不真正关心 哪个 实际元素触发了按键,因为我的逻辑行为将是相同的。我只需要获取实际值。
我错过了什么吗?
【问题讨论】:
标签: javascript jquery html keypress onkeypress