2012-05-18 4 views
2

내 질문은 javascript validation for dynamic element과 같지만 거기에 나온 대답은 저에게 효과가있는 것으로 보입니다. 나는 query.validate 플러그인을 사용하고 있으며 대부분의 내 양식에서 잘 작동합니다. 그러나 여러 입력 요소가 포함 된 테이블에 행을 추가하는 단추가 있습니다. 내가 양식 입력 요소를 추가하기 위해 사용하고 코드는 다음과 같다 :동적으로 생성 된 양식 요소를 jquery.validate에 추가 하시겠습니까?

var table=document.getElementById('flightlegs'); 
var rowCount=table.rows.length-1; 
var row=table.insertRow(rowCount); 
... 
var cell4=row.insertCell(3); 
var element4=document.createElement("input"); 
element4.type="text"; 
element4.size="3"; 
element4.setAttribute("required", "required"); 
element4.maxlength="3"; 
element4.name="legto"; 
element4.id="legto"+rowCount; 
cell4.appendChild(element4); 
$('#legto'+rowCount).rules('add', {required:true}); 
...(more of the same for other cells)... 

좋아, 그래서 이것이 가장 좋은 방법은 (내가 자바 스크립트에서 새로운 해요)되지 않을 수도 있습니다,하지만 원하는대로 입력 필드를 추가하지 . 그러나 제출을 명중 할 때, 그 새로운 분야는 검증에서 포함되지 않는다. 내가 여기서 무엇을 놓치고 있니?

답변

1

jquery.validate은 (플러그인의 소스 코드를 살펴, elements라는 함수가 라인 # 450의 주위에 정의) "각 이름과 만 지정 규칙에 대해서만 첫 번째 요소를 선택합니다." 귀하의 경우에는

각 새로 추가 된 폼 요소는 jquery.validate 그 이름으로 만 양식 요소를 선택하고 나머지 WRT 양식 유효성 검사를 폐기하는 원인이 이름 legto을 가지고 있습니다. 여기

는이

element4.name="legto"+rowCount; 
를 해결할 수있는 방법
관련 문제