2012-01-28 40 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