동적으로 생성 된 양식의 요소를 확인하려고합니다. 그러나 아래 코드에 규칙 ('$("#email"+index).rules("add", { required:true,email:true });'
)을 추가하는 코드가 작동하지 않는 것 같습니다 (예 : 응답 없음).동적으로 추가 된 요소에 유효성 검사 규칙 추가
내가 뭘 잘못하고 있니? (이 추가 규칙 코드의 경우 예를 들어 페이지 뷰 소스 : http://www.coldfusionjedi.com/demos/jqueryvalidation/testadd.cfm을 사용하고 document.ready 함수의 처음에 .validate()를 추가했습니다. 예를 들어 jQuery - How to dynamically add a validation rule에 제안 된 규칙을 추가하기 전에,
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" ></script>
<script type="text/javascript" src="/jquery/jquery.validate.js"></script>
<script type="text/javascript" src="js/additional-methods-v2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var wrapper = $("#wrapper");
var addForm = $("#add-form");
var index = 0;
$("#myForm").validate();
var getForm = function(index, action) { //returns set of form fields as a string
return $('\
<table>\
<tr>\
<td> Name </td> <td> Email </td> <td> Phone </td>\
</tr>\
<tr>\
<td> <input id="name' + index + '" name="name' + index + '" /></td>\
<td><input id="email' + index + '" name="email' + index + '" /></td>\
<td><input id="phone' + index + '" name="phone' + index + '" /></td>\
<input type="submit" value="Save">\
</tr>\
</table>\
<a href="#" class="remove">remove form</a>\
');
}//getForm()
addForm.on("click", function() {
var form = getForm(++index)
form.find(".remove").on("click", function() {
$(this).parent().remove();
}); //form.find()
$("#wrapper").append(form);
$("#email"+index).rules("add", { required:true,email:true });
}); //addForm.on()
$("#myForm").validate({
//console.log("validate");
errorPlacement: function(error, element) {
error.insertAfter(element);
},
rules: {
email: {
required: true
}
} //rules
}); //validate()
}); //$(document).ready
</script>
</head>
<body>
<form id="myForm" name="myForm" action="" method="post" autocomplete="on">
<div id="wrapper"></div>
<a href="#" id="add-form">add form</a>
</form>
</body>
</html>
이는 http://stackoverflow.com/questions/3033910/jquery-하기 전에 물어되었습니다 ...
rules
선언을 제거해야 동적으로 추가하는 방법 - 유효성 검사 규칙 –이 올바른지 확인하기 위해이 링크를 참조했으며 규칙을 추가하기 전에 .validate()를 추가하는 것이 효과가없는 것으로 나타났습니다. '$ ("# myForm")을 추가했습니다. validate();' '$ ("# email"+ index) .rules ("add", {required : true, email : true}); 또한 validate line을 documenten ready 기능의 시작 부분에 두어 시험해 보았다. 나는 또한 다음과 같은 질문을 할 수있다. $ ("# myForm"). validate() 행을 넣는 코드가 정확히 어디에 있는지 (오류 일 경우)? – Joppo