2011-09-17 3 views
0

동적으로 추가되는 필드가 거의없는 양식에서 작업 중이며, 입력 필드에도 spry 유효성 검사가 있으므로 유효성 검사 후 양식을 제출하십시오. 필요하지 않은 경우 동적 입력란을 삭제할 수도 있습니다. jquery를 사용하여 해당 필드를 제거했지만 양식에서 더 이상 사용할 수 없지만 같은 양식을 사용하면 제출 버튼을 사용하여 제출할 수 없습니다.Spry 유효성 검사를 사용할 수없는 필드에서 양식을 제출하지 못하도록합니다.

javascript form.submit() 함수를 사용하여 양식을 제출하려고했지만 양식을 제출했지만 버튼 변수를받지 못했습니다.

그래서 사용할 수없는 필드에 대해 spry 유효성 검사를 비활성화하려면 어떻게합니까? 활발한 튜토리얼 대한 언급을 제안 해주십시오 작업도 그게 전부 귀하의 회신 :


덕분 게다가 난 그냥 다음 사용하여 활발한 검증을 적용 물어 싶어!

var sprytextfield1 = new Spry.Widget.ValidationTextField ("sprytextfield_", "none", {minChars : 5, maxChars : 10});

하지만 sprytextfield1을 파괴합니까? 다른 방법으로 사용 하시거나 사용하시는 것이 좋습니다!

또한 여러 필드에 구현하는 방법을 언급합니다 ... 일부 선택 필드도 있습니다!

답변

1

제거하려는 요소에 대한 참조가있는 경우 Spry 유효성 검사 위젯에 destroy() 메소드가 있습니다.

다음 코드 사소한 방식으로이 일을 보여줍니다

<!DOCTYPE html> 
<html> 
<head> 
<title>Notifications</title> 
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script> 
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css"> 
<script> 

function clearValidation(){ 
    if(sprytextfield1){ 
     sprytextfield1.reset(); 
     sprytextfield1.destroy() 
    } 
} 

function reapplyValidation(){ 
    sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {minChars:5, maxChars:10}); 
} 

</script> 
</head> 
<body> 

<form name="form1" method="post" action=""> 
    <label for="sample"></label> 
    <span id="sprytextfield1"> 
    <label for="myField"></label> 
    <input type="text" name="myField" id="myField"> 
    <span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldMinCharsMsg">Minimum number of characters not met.</span><span class="textfieldMaxCharsMsg">Exceeded maximum number of characters.</span></span> 
<input type="submit" name="submit" id="submit" value="Submit"> 
    <input type="button" name="clear" id="clear" value="clear" onclick="clearValidation();" > 
    <input type="button" name="reapply" id="reapply" value="reapply" onclick="reapplyValidation();" > 
</form> 
<script type="text/javascript"> 
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {minChars:5, maxChars:10}); 
</script> 
</body> 
</html> 

을 당신이 경우, 브라우저에서 페이지를로드 할 때,이 페이지는 그들에게 보이는이 같은 위치에 활발한 파일이있는 가정 즉시 제출 버튼을 클릭하면 유효성 확인 메시지가 나타납니다. 지우기 단추를 클릭하면 유효성 검사가 제거됩니다 (유효성 검사 메시지를 지우는 reset() 호출이 추가되었지만 필드와 해당 유효성 검사 메시지 래퍼가 페이지에서 제거 된 경우 해당 부분은 필요하지 않음). 제출 버튼을 클릭하면 페이지가 제대로 제출됩니다. 페이지를로드 한 다음 submit (유효성 검사 메시지 표시)을 클릭 한 다음 clear 버튼 (유효성 검사 메시지도 지움)을 클릭 한 다음 Reapply 버튼을 클릭하십시오. 그런 다음 제출 버튼에 유효성이 표시되어야합니다.