2012-01-28 83 views
1

我M楼这验证只需领域一个非常简单的表单验证。这是实验性的,我知道有很多表单验证插件。jQuery的事件相关的问题

什么IM做的是调用的函数,传递给它的形式ID和JavaScript对象以这种格式

{ 
    control_id1 : {required : 'message to display if control is empty'}, 
    control_id2 : {required : 'message to display if control is empty'}, 
    ... 
} 

什么功能呢,是遍历JS对象使用的OBJ(VARķ ){...},并检查是否与给定id的控制有一个空值,如果是这样它附加的跨度标签控件的直接父与给定的消息。

它也结合了“模糊”事件到控制,使得一旦失去焦点的验证可以再次被应用于控制。

您可以在这里看到这些内容起作用:http://jsfiddle.net/yvjZF/

如,你可以看到,它显示的信息确定,当u点击按钮。但是如果控制失去焦点,它会显示错误的信息。

我找不到原因,也许我在事件模型误解。任何帮助,将不胜感激。

感谢,
安键

回答

1

不太清楚为什么,但它开始时,我修改了下面的代码工作:使用ActionScript进行编码时

for(var cid in validation_data) 
{ 
    $('#' + cid).blur 
    (
     function() 
     { 
      // validate_control($(this),validation_data[cid]); 
      validate_control($(this),validation_data[$(this).attr('name')]); 
     } 
    ); 
} 

我曾经有过这个问题很多它和循环迭代器有关,影响循环的以前的迭代。我唯一的解释是,这有可能是cid变量是通过引用传递和通过价值如预期。

+0

让我试试吧,在所有可能的原因它甚至没有发生,我认为这可能是它! – anjan 2012-01-28 13:18:18

+0

谢谢,它的工作。而不是cid我使用控件的ID! – anjan 2012-01-28 14:34:36