2012-01-20 4 views
0

동적으로 생성 된 필드가있는 양식을 작성했으며 javascript로 모든 필드의 유효성을 검사하는 방법을 찾으려고합니다. 필드가 null이라는 사실을 사용자에게 알리고 싶습니다. 여기 내 코드입니다 :Javascript가 동적으로 양식 필드 유효성 검사를 생성했습니다.

<script> 
var counter = 0; 
function addInput(divName){ 
counter++; 
var Ai8ousa = document.createElement('div'); 
Ai8ousa.innerHTML = "Field: "+(counter +1) + "<input type='text' name='field[]'>"; 
document.getElementById(divName).appendChild(Ai8ousa); 

} 

function validations(form){ 
var field; 
var i=0; 
do{ 
    field=form['field[]']; 
     if (field.value=='') 
      { 
      alert('The field is null!!!'); 
      return false; 
      } 
     i++; 
}while(i<counter); 
} 
</script> 


<form action="" method="post" onsubmit="return validations(this)" > 
<div id="dynamicInput"> 
Field : <input type="text" name="field[]" /> <br /> 
</div> 
<input type="button" value="New field" onClick="addInput('dynamicInput');"> 
<input type="submit" value="Submit" /> 

</form> 

나는 그 작동 기다리고 있었다하지만 난 "새 필드"를 누르면하지 않은 경우이 코드 :(분명히 잘못 버튼을 눌러 내가 경고 등을 얻을 것이다 제출 내가 문법 실수를 한 경우 예상하지만 다른 모든 경우에 난 아무것도 못하고 있어요 당신의 시간에 대한 감사 어쨌든, 미안

답변

1
<script type="text/javascript"> 
var counter = 0; 
function addInput(divName){ 
counter++; 
var Ai8ousa = document.createElement('div'); 
Ai8ousa.innerHTML = "Field: "+(counter +1) + "<input type='text' name='field[]'>"; 
document.getElementById(divName).appendChild(Ai8ousa); 

} 

function validations(form){ 
var field; 
var i=0; 
do{ 
    field=form[i]; 
     if (field.value=='') 
      { 
      alert('The field is null!!!'); 
      return false; 
      } 
     i++; 
}while(i<counter); 
} 
</script> 


<form action="" method="post" onsubmit="return validations(this)" > 
<div id="dynamicInput"> 
Field : <input type="text" name="field[]" /> <br /> 
</div> 
<input type="button" value="New field" onClick="addInput('dynamicInput');"> 
<input type="submit" value="Submit" /> 

</form> 

내가이 줄을 이해하지 않습니다.! field=form['field[]'];를, 그래서 그것을 변경 ~ field=form[i];

http://jsfiddle.net/sZ4sd/

+0

고마워요! 그것은 매력처럼 작동했습니다! 나는 내가 전에 테스트 한 줄 알았지 만 나는 분명히 잘못된 것을하고 있었다! 추신 : 나는 너무 오랫동안 실수를 저지른 나는 그와 똑같은 것을 받아 들여야한다. 올바른 동안은 : ...} while (i <= counter) – VGe0rge

관련 문제