2009-12-16 2 views
2

입력 요소에 LiveValidation을 사용하고 있습니다. 이것들은 AJAX 호출로 검색된 테이블에 있으며 4에서 36 사이의 4의 배수가 될 수 있습니다.LiveValidation 생성자를 사용하는 eval() 대신 사용

각 AJAX 이후 입력 요소의 수가 달라질 수 있으므로 eval을 사용하여 LiveValidation 생성자를 호출합니다 전화와 나는 다른 방법을 생각할 수 없었다 (나는 JavaScript에 대한 많은 경험이 없다). 내가 이것을 사용하고

: 나는 매우 드물게 사용되어야한다 알고

$("input[type=text]", tableElement).each(function(index) { 
    eval("var temp_" + index + " = new LiveValidation(this, { wait: 0, validMessage: ' ' });"); 
    eval("temp_" + index + ".add(Validate.Numericality, { onlyInteger: true });"); 
    eval("temp_" + index + ".add(Validate.Presence, { failureMessage: 'Cannot be blank' });"); 
}); 

이 어떤 평가를 사용하지 않고 동일한 달성하고 더 나은 방법이 될 것입니다. 난 그냥 이것을 사용할 수 있습니다처럼

답변

2

잘 보인다

$("input[type=text]", tableElement).each(function(index) { 
    var temp = new LiveValidation(this, { wait: 0, validMessage: ' ' }); 
    temp.add(Validate.Numericality, { onlyInteger: true }); 
    temp.add(Validate.Presence, { failureMessage: 'Cannot be blank' }); 
}); 

내가 그 일을하지 않을 것이라고 생각했지만, 그것은 않습니다.

관련 문제