2012-03-24 6 views
0

jEditable에서 jQuery 유효성 검사를 사용하고 싶습니다. 여기, 나는 잠시 동안 데이터베이스에서 테이블을 반향시키고있다.jEditable 유효성 검사가 작동하지 않습니다.

<table id="example" class="display" cellspacing="0" border="0"> 
<thead> 
    <tr> 
    <th> 
    Name 
    </th> 
    <th> 
    Phone 
    </th> 
</tr> 
</thead> 
<tbody> 
    <tr> 
    <td class="items" userid="'.$row['id'].'" id="name">'.$row['name'].'</td> 
    <td class="items required" userid="'.$row['id'].'" id="phone">'.$row['phone'].'</td> 
    </tr> 
</tbody> 
</table> 

그리고이 코드는 jQuery 유효성 검사 코드가있는 jEditable 스크립트입니다.

$("td.items").each(function(index) {  
$(this).editable("handler.php", { 

onsubmit: function(settings, td) { 
    var input = $(td).find('input'); 
    $(this).validate({ 
     rules: { 
      phone: { 
       number: true, 
      } 
     }, 
     messages: { 
      phone: { 
       number: 'Only numbers are allowed', 

      } 

     }, 
    }); 
    return ($(this).valid()); 
}, 

submitdata : {userid: $(this).attr('retailerid')}, 
indicator : "<img src='images/indicator.gif'>", 
tooltip : "Doubleclick to edit...", 
event  : "dblclick", 
onblur : "submit", 
name : 'newvalue', 
id : 'elementid', 

}); 
}); 

여기에서 jEditable은 완벽하게 작동합니다. 그러나 유효성 검사가 작동하지 않습니다. 이 유효성 검사 코드가 맞습니까?

답변

1

견적 OP : "이 유효성 검사 코드가 맞습니까?"

아니요. 플러그인 매개 변수 내에서 타겟팅 된 input 요소의 이름은 table에있는 셀의 id이 아니라 form 내에 input 요소의 name 속성 만 참조해야합니다.

AFAIK, jQuery Validation Plugin<form>에 포함 된 <input> 요소만을 대상으로 설계되었습니다. 당신은 당신의 코드에서 둘 다 가지고 있지 않습니다.

http://docs.jquery.com/Plugins/Validation/validate#toptions

+0

Sparky672는 - 그럼 어떻게이 jEditable와 검증을 할까? Pls help :) – collozziza

+0

@collozziza, 그건 원래 묻지 않은 것이 네. 단지'form' 엘리먼트 내에'input' 엘리먼트가 없다면 Validation 플러그인을 사용할 수 없다는 것을 알고 있습니다. 아마도 jEditable로 유효성 검사를 올바르게 수행하는 방법에 대한 새로운 질문을 게시해야 할 것입니다. – Sparky

+0

Sparky672 - 그게 뭔지 묻고있어 :) 어떻게 jEditable 유효성 검사를 할. 이것은 내가 가진 코드입니다. jEditable은 오른쪽 클릭이나 dblclick을 할 때'input' 요소를 생성합니까? – collozziza