2012-03-24 80 views
0

我想用jEditable使用jQuery验证。在这里,我在一个while循环中回显了我的数据库中的表格。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元素的名称应仅引用form中的input元素的name属性,而不引用table中的单元格的id

AFAIK,jQuery Validation Plugin被设计为仅针对<form>中包含的<input>元素。你在代码中都没有。

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

+0

Sparky672 - 那么如何使用此jEditable进行验证?请帮助:) – collozziza 2012-03-27 01:30:56

+0

@collozziza,这不是你最初的问题......我只知道你不能使用Validation插件,除非你在'form'元素中有'input'元素。也许你需要发布一个关于如何正确使用jEditable进行验证的新问题。 – Sparky 2012-03-27 02:00:25

+0

Sparky672 - 这就是我问:)如何使用jEditable进行验证。这是我的代码。当你单击或右键单击时,jEditable会创建一个'input'元素? – collozziza 2012-03-27 02:19:27