jQuery MiniUI

标题: mini-textbox用 getValue 有时候取不到值 [打印本页]

作者: cpy1989    时间: 2012-6-21 15:28:52     标题: mini-textbox用 getValue 有时候取不到值

本帖最后由 cpy1989 于 2012-6-21 15:46 编辑

    <input id="txtSearchUserId" class="mini-textbox" />


     var txtUserId = mini.get("txtSearchUserId");
            var userId = txtUserId.getValue("txtSearchUserId");


这样取不到值,我明明输入了值,但userId取不到值,不知道为什么 ?


[attach]205[/attach]


[attach]206[/attach]



这样的,无法获取到值啊,不知道怎么回事..

作者: niko    时间: 2012-6-21 16:38:24

你在什么时候获取值?
是在keydown ?

作者: cpy1989    时间: 2012-6-21 16:51:01

niko 发表于 2012-6-21 16:38
你在什么时候获取值?
是在keydown ?

我点那个查询按钮的时候,很奇怪啊,之前还可以,后来下了最新版  6月13  发布的版本
作者: cpy1989    时间: 2012-6-21 16:54:01

cpy1989 发表于 2012-6-21 16:51
我点那个查询按钮的时候,很奇怪啊,之前还可以,后来下了最新版  6月13  发布的版本 ...

后来下了最新版  6月13  发布的版本,貌似就不行了
但又不是经常取不到,比如,我输入 “123”,取不到,等我删了一个数,变成 “12”,再点查询又能取到。
作者: niko    时间: 2012-6-21 18:57:13

你再获取一下新版本。
也可以在网站DEMO看看,是否有此问题

作者: cpy1989    时间: 2012-6-26 17:29:37

niko 发表于 2012-6-21 18:57
你再获取一下新版本。
也可以在网站DEMO看看,是否有此问题

我的已经是最新版本了
  我发现一个怪异问题,就是我在文本框填了值之后,点保存按钮,是取不到值的,
但我在文本框填了值以后,再跳到另一个文本框,让原先的文本框失去焦点,这样才取到值,奇怪了。
作者: niko    时间: 2012-6-26 20:52:07

你应该没到最新版本把。
或者把可运行的代码贴出来试试
作者: carboncocoa    时间: 2012-6-27 01:06:08

习惯了
控件加多了就出现这毛病
主要是在搜狗,360什么的IE内核下
其他都没问题

还有次自己多写了几个验证的正则
结果文本框全挂了
作者: carboncocoa    时间: 2012-6-27 01:08:05

还有页面的js代码,放在哪个地方
都很有关系
你这种情况
一般我这边是这样的
上面是你这种查询
下面是数据表格
JS必须写在input控件下面
在数据表格上面
不然数据表格读不出数据
查询也不好使,不论哪种浏览器
作者: cpy1989    时间: 2012-6-27 08:44:47

niko 发表于 2012-6-26 20:52
你应该没到最新版本把。
或者把可运行的代码贴出来试试

<div>
        <div class="mini-toolbar" style="width: 889px;">
            <a class="mini-button" iconcls="icon-add" onclick="AddServerManage">增加</a>&nbsp;&nbsp;<a
                class="mini-button" iconcls="icon-remove" onclick="deleteUsers"> 删除</a> <span class="separator">
                </span>服务器Ip:
            <input id="txtSearchServerIp" class="mini-textbox" />
            <a class="mini-button" iconcls="icon-search" onclick="SearchServerManage">查询</a>
        </div>
        <div id="datagrid1" class="mini-datagrid" style="width: 900px; height: 530px;" url="../Handle/ServerManage.aspx?Method=GetServer"
            idfield="id" allowresize="false" pagesize="20" multiselect="true">
            <div property="columns">
                <div type="checkcolumn" width="5">
                </div>
                <div type="indexcolumn" width="10">
                </div>
                <div field="ServerId" width="10" headeralign="center" align="center" allowsort="true">
                    ID
                </div>
                <div field="ServerName" width="10" headeralign="center" align="center" allowsort="true">
                    服务器名
                </div>
                <div field="ServerIp" width="30" headeralign="center" align="center" allowsort="true">
                    服务器IP
                </div>
                <div name="action" width="20" headeralign="center" align="center" renderer="onActionRendererUserManage"
                    cellstyle="padding:0;">
                    操作</div>
            </div>
        </div>
        <div id="editServerManage" class="mini-window" title="新增/编辑服务器管理" style="width: 450px;"
            showmodal="true" allowdrag="true">
            <div id="editServerManageform" class="form">
                <input class="mini-hidden" name="ServerId" />
                <table style="width: 410px">
                    <tr>
                        <td style="width: 100px; text-align: right;">
                            服务器名称:
                        </td>
                        <td style="width: 300px;">
                            <input name="ServerName" width="300" class="mini-textbox" />
                        </td>
                    </tr>
                    <tr>
                        <td style="width: 100px; margin-top: 10px; text-align: right;">
                            服务器IP:
                        </td>
                        <td style="width: 300px; margin-top: 10px;">
                            <input name="ServerIp" id="txtServerIP" width="300" class="mini-textbox" onvalidation="onvalidateIpAddress" />
                        </td>
                    </tr>
                    <tr>
                        <td style="width: 100px; margin-top: 10px; text-align: right;">
                            服务器说明:
                        </td>
                        <td style="width: 300px; margin-top: 10px;">
                            <input name="ServerDesc" width="300" id="txtUserDescription" required="true" requirederrortext="服务器说明不能为空"
                                class="mini-textarea" />
                        </td>
                    </tr>
                    <tr>
                        <td style="text-align: center; padding-top: 5px; padding-right: 20px;" colspan="2">
                            <a class="mini-button" iconcls="icon-add" onclick="SaveServerManage">保存</a> <a class="mini-button"
                                iconcls="icon-cancel" onclick="CanncelSaveServerManage">取消</a>
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        mini.parse();
        var grid = mini.get("datagrid1");
        var editWindow = mini.get("editServerManage");
        var cmdType = "AddServer";
        grid.load();
        function SearchServerManage() {
            var txtSearchKey = mini.get("txtSearchServerIp");
            var key = txtSearchKey.getValue();
            grid.load({ key: key });
        }


        //验证
        function onvalidateIpAddress(e) {
            debugger;
            if (e.isValid) {
                var reg = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
                if (!reg.test(e.value)) {
                    e.errorText = "Ip格式输入错误!";
                    e.isValid = false;
                }
            }
        }

        //加载列表格的时候
        function onActionRendererUserManage(e) {
            var grid = e.sender;
            var record = e.record;
            var uid = record._uid;
            var rowIndex = e.rowIndex;
            //<img src="../JS/scripts/miniui/themes/icons/edit.gif" />
            var s = '<a onclick="editSingleServer(\'' + uid + '\');" style="cursor:pointer;"><img src="../JS/scripts/miniui/themes/icons/edit.gif"/>修改</a>&nbsp;&nbsp;&nbsp;&nbsp;'
                    + '<a onclick="DeleteSingleServer(\'' + uid + '\')" style="cursor:pointer;"><img src="../JS/scripts/miniui/themes/icons/cancel.gif"/>删除</a>';
            return s;
        }


        function DeleteSingleServer(row_id) {
            mini.confirm("确定删除(删除后将不能恢复)?", "确定?", function (action) {
                if (action == "ok") {
                    var row = grid.getRowByUID(row_uid);
                    if (row) {
                        var serverId = row.ServerId;
                        $.ajax({
                            url: "../Handle/ServerManage.aspx?Method=DeleteSingleServer",
                            type: "post",
                            cache: "false",
                            dataType: "text",
                            data: { "ServerId": serverId },
                            success: function (msg) {

                            }
                        });
                    }
                }
            });
        }


        //修改单个
        function editSingleServer(row_id) {
            var row = grid.getRowByUID(row_id);

            if (row) {
                editWindow.show();
                var form = new mini.Form("#editServerManageform");
                form.loading();
                form.setData(row);
                form.unmask();
                cmdType = "UpdateServer";
            }
        }


        //新增服务器
        function AddServerManage() {
            editWindow.show();
            var form = new mini.Form("#editServerManageform");
            form.clear();
            cmdType = "AddServer";
        }

        function CanncelSaveServerManage() {
            mini.confirm("确定取消保存(取消保存后将不能恢复)?", "确定?", function (action) {
                if (action == "ok") {
                    editWindow.hide();
                }
            });
        }

        //保存服务器信息
        function SaveServerManage() {
            var form = new mini.Form("#editServerManageform");
            form.validate();
            if (form.validate() == false) {
                return;
            }

            mini.confirm("确定保存?", "确定?", function (action) {
                if (action == "ok") {
                    var obj = form.getData();
                    var jsona = mini.encode([obj]);
                    var json = $.parseJSON(jsona);

                    grid.loading("保存中,请稍后...");
                    $.ajax({
                        url: "../Handle/ServerManage.aspx?Method=" + cmdType,
                        type: "post",
                        cache: "false",
                        dataType: "text",
                        data: {
                            "ServerId": json[0].ServerId,
                            "ServerName": json[0].ServerName,
                            "ServerIp": json[0].ServerIp,
                            "ServerDesc": json[0].ServerDesc
                        },
                        success: function (msg) {
                            if (msg == 1) {
                                mini.alert("保存成功!");
                                grid.load();
                            }
                            else {
                                mini.alert("保存失败");
                                grid.load();
                            }
                        }
                    });
                }
            }
            );
        }
    </script>




这是我一整个页面的代码,怎么试都不行...  这个是点修改,然后弹出修改框,修改完之后,再点保存的时候是  获取不到值,要么就是获取到的  还是 原来 没修改的值,不知道是不是哪弄错了,感觉很奇怪
作者: factory    时间: 2012-6-27 10:12:47

cpy1989 发表于 2012-6-27 08:44
增加&nbsp;&nbsp; 删除
                服务器Ip:
            

你指的是弹出框修改之后的服务器名称,服务器IP,服务器说明 这3个无法获取到值?
我刚才把你的代码贴我本地调试看了,测试了几次都是可以获取到这3个值的。
作者: cpy1989    时间: 2012-6-27 10:15:27

factory 发表于 2012-6-27 10:12
你指的是弹出框修改之后的服务器名称,服务器IP,服务器说明 这3个无法获取到值?
我刚才把你的代码贴我 ...

我知道了,你们引用的是jquery-1.6.2.min.js p  这个jquery 是吧?
  我引用了我的jquery-1.4.1.min.js, 这两个是不是对你们的插件有区别啊?
   我换了之后,就好了。
   但是这两个版本的jquery区别不大吧?  
作者: niko    时间: 2012-6-27 14:16:07

应该不会。
你可以把出问题的代码贴出来。
我们本地运行测试看看。
作者: cpy1989    时间: 2012-6-27 15:19:04

niko 发表于 2012-6-27 14:16
应该不会。
你可以把出问题的代码贴出来。
我们本地运行测试看看。

现在已经好了啊
  就是因为我引用的是  jquery-1.4.1.min.js   这个版本的,我换成从你们那下下来的jquery-1.6.2.min.js  这个版本jquery就好了
  要么就是你们那个 jquery-1.6.2.min.js 改过了里面的源码,要么就是1.4.1和1.6.2 的jquery有所不同吧..
作者: niko    时间: 2012-6-27 19:45:14

嗯 jquery 1.4有点老,现在都1.7了




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2