jQuery MiniUI

 找回密码
 立即注册
查看: 16529|回复: 17
打印 上一主题 下一主题

mini-textarea ie8下的bug [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-6-7 15:40:48 |只看该作者 |倒序浏览
1,一个form中多个,目前我使了两个texarea,后一个textarea有时可以取到值,有时候却取不到值.
<form id="form1" name="form1" method="post">
<div>
     <table>
         <tbody>
                <tr>
                    <td width="60"><label for="Description$text">中文描述:</label></td>
                    <td><input name="Description" id="Description" class="mini-textarea" required="false" maxlength="200" style="width:360px;" value="{$model.Description|escape}" /></td>
                </tr>
                <tr>
                    <td width="60"><label for="DescriptionEn$text">英文描述:</label></td>
                    <td><input name="DescriptionEn" id="DescriptionEn" class="mini-textarea" required="false" maxlength="200" style="width:360px;" value="{$model.DescriptionEn|escape}" /></td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td colspan="2" align="center">
                     <input name="Flag" id="Flag" class="mini-hidden" value="1" type="hidden" />
                     <a class="mini-button" iconCls="icon-ok">提交</a>
                        <a class="mini-button" iconCls="icon-cancel">取消</a>
                    </td>
                </tr>
            </tfoot>
        </table>
    </div>
</form>
2,另外textarea内的内容在ie8下原来有换行符的,结果再次编辑时不会换行.

Rank: 9Rank: 9Rank: 9

沙发
发表于 2012-6-7 16:29:55 |只看该作者
能否把出问题的示例(HTML+JS)一并发上来。
这样可以快速重现问题。

Rank: 2

板凳
发表于 2012-6-7 16:50:36 |只看该作者
本帖最后由 athrun 于 2012-6-8 08:02 编辑
niko 发表于 2012-6-7 16:29
能否把出问题的示例(HTML+JS)一并发上来。
这样可以快速重现问题。
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Demo</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta http-equiv="imagetoolbar" content="no" />
  7. <meta http-equiv="X-UA-Compatible" content="IE=8" />
  8. <meta http-equiv="MSThemeCompatible" content="no" />
  9. <meta name="MSSmartTagsPreventParsing" content="yes" />
  10. <meta name="description" content="Demo" />
  11. <meta name="keywords" content="Demo" />
  12. <meta name="copyright" content="Demo" />
  13. <meta name="author" content="Demo" />
  14. <!--meta http-equiv="Page-Enter" content="revealTrans(duration=1, transition=23)" /-->
  15. <!--网页进入的特效-->
  16. <!--meta http-equiv="Page-Exit" content="revealTrans(duration=1, transition=23)"-->
  17. <!--网页退出的特效-->
  18. <link href="images/style.css" rel="stylesheet" type="text/css" />
  19. <link href="scripts/miniui/themes/default/skin.css?version=2.0.6" rel="stylesheet" type="text/css" />
  20. <link href="scripts/miniui/themes/icons.css?version=2.0.6" rel="stylesheet" type="text/css" />
  21. <script src="scripts/jquery.js?version=1.6.2" type="text/javascript"></script>
  22. <script src="scripts/miniui/miniui.js?version=2.0.6" type="text/javascript"></script>
  23. <script src="scripts/jquery.cookie.js?version=1.6.2" type="text/javascript"></script>
  24. <script src="scripts/function.js" type="text/javascript"></script>
  25. <script src="scripts/ajax.js" type="text/javascript"></script>


  26. </head>
  27. <body>
  28. <script type="text/javascript">

  29. </script>
  30. <!--页面内容开始-->
  31. <form id="form1" name="form1" method="post">
  32.         <div>
  33.             <table>
  34.                 <tbody>
  35.                 <tr>
  36.                     <td width="60"><label for="ProductCategoryPCN$text">商品类别:</label></td>
  37.                     <td>
  38.                         <div id="ProductCategoryPCN" name="ProductCategoryPCN" class="mini-combobox" style="width:190px;" popupWidth="200" textField="text" valueField="id"
  39.                             url="productcategory.php?act=comboboxPCNName" value="" multiSelect="false" onvaluechanged="onValueChangedProductCategoryPCN"  >     
  40.                             <div property="columns">
  41.                                 <div header="编号" field="id" width="50"></div>
  42.                                 <div header="中文名称" field="text"></div>
  43.                             </div>
  44.                         </div>
  45.                     </td>
  46.                 </tr>
  47.                 <tr>
  48.                     <td width="60">商品编号:</td>
  49.                     <td><input name="PN" id="PN" class="mini-textbox" required="true" onvalidation="onPNValidation" onvaluechanged="onPNValueChanged" maxlength="6" style="width:190px;" value="" vtype="maxLength:6" /></td>
  50.                 </tr>
  51.                 <tr>
  52.                     <td width="60">单位:</td>
  53.                     <td><input id="Unit" name="Unit" class="mini-combobox" style="width:190px;" textField="text" valueField="id"
  54.         url="product.php?act=autoCompleteUnit" value="" showNullItem="false" allowInput="true" required="true" /></td>
  55.                 </tr>
  56.                 <tr>
  57.                     <td width="60"><label for="Name$text">中文名称:</label></td>
  58.                     <td width="200"><input name="Name" id="Name" class="mini-textbox" required="true" maxlength="100" style="width:190px;" value="" /></td>
  59.                 </tr>
  60.                 <tr>
  61.                     <td width="60">英文名称:</td>
  62.                     <td><input name="NameEn" id="NameEn" class="mini-textbox" required="true" maxlength="100" style="width:190px;" value="" /></td>
  63.                 </tr>
  64.                 <tr>
  65.                     <td width="60"><label for="ArticleNo$text">中文型号:</label></td>
  66.                     <td width="200"><input name="ArticleNo" id="ArticleNo" class="mini-textbox" required="false" maxlength="100" style="width:190px;" value="" /></td>
  67.                 </tr>
  68.                 <tr>
  69.                     <td width="60">英文型号:</td>
  70.                     <td><input name="ArticleNoEn" id="ArticleNoEn" class="mini-textbox" required="false" maxlength="100" style="width:190px;" value="" /></td>
  71.                 </tr>
  72.                 <tr>
  73.                     <td width="60"><label for="Description$text">中文描述:</label></td>
  74.                     <td><input name="Description" id="Description" class="mini-textarea" required="false" maxlength="200" style="width:360px;" value="" /></td>
  75.                 </tr>
  76.                 <tr>
  77.                     <td width="60"><label for="DescriptionEn$text">英文描述:</label></td>
  78.                     <td><input name="DescriptionEn" id="DescriptionEn" class="mini-textarea" required="false" maxlength="200" style="width:360px;" value="" /></td>
  79.                 </tr>
  80.             </tbody>
  81.             <tfoot>
  82.                 <tr>
  83.                     <td colspan="2" align="center">
  84.                             <input name="Flag" id="Flag" class="mini-hidden" value="0" type="hidden" />
  85.                             <a class="mini-button" iconCls="icon-ok" onclick="Submit">储存</a>
  86.                         <a class="mini-button" iconCls="icon-cancel" onclick="Cancel">取消</a>                    </td>
  87.                 </tr>
  88.             </tfoot>
  89.         </table>

  90.     </div>
  91. </form>
  92. <!--页面内容结束-->

  93. <script type="text/javascript">
  94. </script>

  95. <script type="text/javascript">
  96. <!--
  97. var form;
  98. jQuery(document).ready(function() {
  99.         init();
  100. });
  101. function init(){
  102.         form = new mini.Form("form1");
  103.         if(mini.get("Flag").getFormValue()=='1'){
  104.                 mini.get("ProductCategoryPCN").disable();
  105.                 mini.get("PN").disable();
  106.         }
  107. }
  108. function SubmitData() {
  109.         LoginCheck();
  110.         form.validate();
  111.         if (form.isValid() == false) return false;
  112.         var Unit = mini.get("Unit").getText();
  113.         var o = form.getData(true);
  114.         o.Unit = Unit;
  115.         var json = mini.encode(o);
  116.         $.ajax({
  117.                 url: "product.php?act=save",
  118.                 type:"POST",
  119.                 data: { json: json },
  120.                 cache: false,
  121.                 success: function (text) {
  122.                         if(text=='1'){
  123.                                 if(mini.get("Flag").getFormValue()=='0'){
  124.                                         CloseWindow("save");
  125.                                 }else{
  126.                                         window.parent.reloadTab();
  127.                                 }
  128.                         }else{
  129.                                 AjaxErrorMsg(text);
  130.                         }
  131.                 },
  132.                 error: function (jqXHR, textStatus, errorThrown) {
  133.                         AjaxErrorMsg(jqXHR.responseText);
  134.                         CloseWindow();
  135.                 }
  136.         });
  137. }

  138. function Submit(e) {
  139.         SubmitData();
  140. }
  141. function Cancel(e) {
  142.         CloseWindow("cancel");
  143. }

  144. function onPNValueChanged(e){
  145.         mini.get("PN").setValue(e.value.toUpperCase());
  146. }
  147. function onPNValidation(e){
  148.         if (e.isValid) {
  149.                 if(mini.get("Flag").getFormValue()=='0'){
  150.                         if (PNExists(e.value) == false) {
  151.                                 e.errorText = "编号已经存在";
  152.                                 e.isValid = false;
  153.                         }
  154.                 }
  155.         }
  156. }
  157. function PNExists(PN){
  158.         var Result = false;
  159.         $.ajax({
  160.                 url: "product.php?act=pn_exists",
  161.                 type: "get",
  162.                 async: false,
  163.                 data: {
  164.                         PN:PN
  165.                 },
  166.                 success: function (text) {
  167.                         Result=(text=="0")?true:false;
  168.                 }
  169.         });
  170.         return Result;
  171. }

  172. function onValueChangedProductCategoryPCN(e) {
  173.         var item = e.selected;

  174.         if (item) {
  175.                 var obj=mini.get("ProductCategoryPCN");
  176.                 ReplacePNFirstChar(item.id);        
  177.         }
  178. }

  179. function ReplacePNFirstChar(PCN){
  180.         var obj=mini.get("PN");
  181.         var v = obj.getFormValue();
  182.         if(v==''){
  183.                 obj.setValue(PCN);
  184.         }else{
  185.                 obj.setValue(PCN+v.substr(1));
  186.         }
  187. }
  188. -->
  189. </script>



  190. </body></html>
复制代码

Rank: 2

地板
发表于 2012-6-7 16:54:19 |只看该作者
athrun 发表于 2012-6-7 16:50

以上问题在google chrome上没有问题

Rank: 9Rank: 9Rank: 9

5#
发表于 2012-6-8 08:36:53 |只看该作者
经测试,调用getFormValue时确实有此问题。
已修复。
下午发布小版本更新。

Rank: 2

6#
发表于 2012-6-8 08:40:25 |只看该作者
niko 发表于 2012-6-8 08:36
经测试,调用getFormValue时确实有此问题。
已修复。
下午发布小版本更新。

谢谢,换行和取值两个都修复了吗?

Rank: 9Rank: 9Rank: 9

7#
发表于 2012-6-8 08:42:46 |只看该作者
2,另外textarea内的内容在ie8下原来有换行符的,结果再次编辑时不会换行.

这个问题,有可能是存储数据时,把换行符去掉了把。
我这里无法重现,你把问题出现的情况描述下。

Rank: 2

8#
发表于 2012-6-8 09:16:14 |只看该作者
niko 发表于 2012-6-8 08:42
2,另外textarea内的内容在ie8下原来有换行符的,结果再次编辑时不会换行.

这个问题,有可能是存储数据时, ...

换行的问题也是在ie下才有的,在google chrome下却是正确的,且进mysql phpmyadmin中也有换行.可以确认保存的时候的确有保存换行符进去.你可做一个简单的测试

Rank: 2

9#
发表于 2012-6-8 09:20:35 |只看该作者
athrun 发表于 2012-6-8 09:16
换行的问题也是在ie下才有的,在google chrome下却是正确的,且进mysql phpmyadmin中也有换行.可以确认保存 ...

对了,刚才本来有一个建议想发贴的,我就不再发了.是这样的
在使用datagrid的时候我们可以自定义pageSize属性.比如我定议了pageSize="7"后,前台在sizeList dropdownlist中会有7这个选项,且预设的也是7,到这里已经做的很好了.不过用户在前台如果将pageSize改为10.这样datagrid会reload,reload后你会发现sizelist dropdownlist中已经没有7这一选项了.建议可以把这里再优化一下.

Rank: 9Rank: 9Rank: 9

10#
发表于 2012-6-8 10:01:51 |只看该作者
1.textarea不换行:请测试http://www.miniui.com/demo/datagrid/datagrid.html。 弹出面板中,有textarea,我用ie8测试没有发现不换行的问题。

2.datagrid自定义分页:现在的逻辑是对的。你设置pageSize,不等于你设置了sizeList。切换后自然会消失。

Archiver|普加软件

GMT+8, 2024-11-26 10:19 , Processed in 1.038831 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部