拼接中文参数时,报错is not defined

2021-11-24 13:52:57 浏览数 (1)

相关文档

Bootstrap Table官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ Bootstrap 中文网:http://www.bootcss.com/ Bootstrap Table Demo:http://issues.wenzhixin.net.cn/bootstrap-table/index.html

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Dashboard | Nadhif - Responsive Admin Template</title>
        <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.15.4/bootstrap-table.min.css">
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
        <script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
        <script src="https://cdn.bootcss.com/bootstrap-table/1.15.4/bootstrap-table.min.js"></script>
        <script src="https://cdn.bootcss.com/bootstrap-table/1.15.4/locale/bootstrap-table-zh-CN.min.js"></script>
    </head>
    <style>
        .page-content-wrapper {
            width: 800px;
            position: absolute;
            top: 10%;
            left: 24%;
            background: #fff;
            border: 1px solid #999;
            padding: 3% 0 0 9%;
            display: none;
        }
        .inputstyle {
            width: 60%;
            height: 34px;
            padding: 6px 12px;
            font-size: 14px;
            line-height: 1.42857143;
            color: #555;
            background-color: #fff;
            background-image: none;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
    </style>
    <body>

        <table id="mytab" class="table table-hover"></table>
        <!-- 新增和修改界面 -->
        <div class="page-content-wrapper">
            <input type="text" class="inputstyle" id="id" style="display: none;">
            <div class="form-group">
                <label>工号:</label> <input type="text" class="inputstyle" id="deviceId">
            </div>
            <div class="form-group">
                <label>姓名:</label> <input type="text" class="inputstyle" id="name">
            </div>
            <div class="form-group">
                <label>电话:</label> <input type="text" class="inputstyle" id="phone">
            </div>
            <div class="form-group">
                <label>公司:</label> <input type="text" class="inputstyle" id="organName">
            </div>


            <div class="modal-footer">
                <button type="button" class="btn default" data-dismiss="modal" id="close">关闭</button>
                <button type="button" class="btn blue" id="addBtn">保存</button>

            </div>
        </div>

        <script>
            $('#mytab').bootstrapTable({
                method: 'get',
                url: "test.json", // 请求路径
                striped: true, // 是否显示行间隔色
                pageNumber: 1, // 初始化加载第一页
                pagination: true, // 是否分页
                sidePagination: 'client', // server:服务器端分页|client:前端分页
                pageSize: 5, // 单页记录数
                pageList: [5, 20, 30],
                // showRefresh : true,// 刷新按钮
                queryParams: function(params) { // 上传服务器的参数
                    var temp = {

                    };
                    return temp;
                },
                columns: [{
                    title: 'id',
                    field: 'id',
                    visible: false
                }, {
                    title: '工号',
                    field: 'deviceId',

                }, {
                    title: '姓名',
                    field: 'name',

                }, {
                    title: '联系电话',
                    field: 'phone'
                }, {
                    title: '公司部门',
                    field: 'organName'
                }, {
                    title: '操作',
                    field: 'id',
                    formatter: option
                }]
            })

            // 定义删除、更新按钮
            function option(value, row, index) {
                var htm = "";
                htm = '<button id="upd"  onclick="update(''   escape(JSON.stringify(row))   '')">修改</button>';
                return htm;
            }

            function update(row) {
                $(".page-content-wrapper").show();
                var data = JSON.parse(unescape(row))
                $('#deviceId').val(data.deviceId)
                $('#name').val(data.name)
                $('#phone').val(data.phone)
                $('#organName').val(data.organName)

            }
            $("#close").on("click", function() {
                $(".page-content-wrapper").hide();
            })
        </script>
    </body>

</html>

test.json

代码语言:javascript复制
[
    {
        "id": 1,
        "deviceId": "43445",
        "name": "王小婷",
        "phone": "1567865475",
        "organName": "字节跳动"
    },  {
        "id": 2,
        "deviceId": "53456",
        "name": "最帅的坏兔子",
        "phone": "1567865475",
        "organName": "腾讯" 
    },{
        "id": 3,
        "deviceId": "2345",
        "name": "阿强",
        "phone": "1567865475",
        "organName": "360" 
    },{
        "id": 4,
        "deviceId": "2345",
        "name": "阿花",
        "phone": "1567865475",
        "organName": "百度" 
    },
    {
        "id": 5,
        "deviceId": "2345",
        "name": "阿奶",
        "phone": "1567865475",
        "organName": "蚂蚁金服" 
    },{
        "id": 5,
        "deviceId": "2345",
        "name": "阿狗",
        "phone": "1567865475",
        "organName": "阿里" 
    }
]

Uncaught ReferenceError: M43445 is not defined at HTMLButtonElement.onclick (test.html:128)

报错原因: 具体原因是js把deviceId字符串当成一个变量对象,不能识别英文字母 数字类型的变量,在deviceId变量前后加上"转义字符,意思是",把deviceId最后以字符串类型参数传入到方法中

这个时候需要加个转义字符

代码语言:javascript复制
''  row.deviceId  ''

0 人点赞