2013-02-26 58 views
3

我正在使用jQuery手机版本1.3.0,最近与jQuery验证(尝试两个版本,1.11和1.9)一起使用phonegap和我遇到了文本框验证问题。问题是,错误消息放在文本框内,它看起来很丑。与jQuery的手机1.2.0一切工作正常。我发现了这个问题,不知道如何优雅地修复它。jQuery手机1.3.0和jQuery验证

代码使用jQuery移动1.2.0:

<label for="phone">Telefon nummer:</label> 
     <input type="text" name="phone" class="phone ui-input-text ui-body-c ui-corner-all ui-shadow-inset error" value=""><label for="phone" class="error" style="">Telefonnummer skal oplyses</label> 

代码使用jQuery移动1.3.0

<div class="ui-input-text ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-c"><input type="text" name="phone" class="phone ui-input-text ui-body-c error" value=""><label for="phone" class="error" style="">Telefonnummer skal oplyses</label></div> 

正如你可以在jQuery Mobile的1.3.0他们把一个div包装看。我怎样才能解决这个问题?

谢谢。

回答

5

找到了解决方案,挺优雅的:)。将此置于验证功能选项中:

 errorPlacement: function(error, element) { 

      error.insertAfter(element.parent()); 

     } 
+0

我给你一些学分,它看起来像你自己的答案导致解决方案! – 2013-05-19 10:10:01

4

太棒了!我已经做了一个调整,因为这只适用于输入,而不适用于使用JQM 1.3.0的select,textarea等。

errorPlacement: function (error, element) { 
        if (element.is("input") && !element.is('input[type="hidden"]')) 
         error.insertAfter(element.parent()); 
        else 
         error.insertAfter(element);