Неверный параметр флагов регулярных выражений - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу создать всплывающее окно, используя JavaScript.я передаю содержимое таблицы, включая URL-адрес из моего контроллера codeigniter, в мое представление codeigniter.

вот мой код из моего контроллера:

public function ajax_list_dokumen($id){
        if($this->session->userdata('logged_in')){
            $list = $this->m_agency->GetDataDokumen($id);
            $data = array();
            $no = $_POST['start'];
            foreach ($list as $lists) {
                $no++;
                $row = array();
                $row[] = $lists->id_dokumen_persyaratan;
                $row[] = $lists->jenis_dokumen;
                $row[] = '<a class="btn btn-primary" onclick="popup('.$lists->path_file.', Dokumen Preview, 800, 600)" ><i class="fa fa-eye"><i/></a>';
                $data[] = $row;
            }

            $output = array(
                            "draw" => $_POST['draw'],
                            "recordsTotal" => $this->m_agency->count_all_dokumen($id),
                            "recordsFiltered" => $this->m_agency->count_filtered_dokumen($id),
                            "data" => $data,
                    );
            //output to json format
            echo json_encode($output);
        }
    }

, а вот мой javascript:

function popup(url, title, w, h) {
    // Fixes dual-screen position                         Most browsers      Firefox
    var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : window.screenX;
    var dualScreenTop = window.screenTop != undefined ? window.screenTop : window.screenY;
    base_url = "<?php echo base_url();?>";
    link = base_url+url;
    link = link.replace( /s+/gm, "-", link );
    var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
    var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

    var left = ((width / 2) - (w / 2)) + dualScreenLeft;
    var top = ((height / 2) - (h / 2)) + dualScreenTop;
    var newWindow = window.open(link, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);

    // Puts focus on the newWindow
    if (window.focus) {
        newWindow.focus();
    }
}

но когда я нажал кнопку просмотра, я получил ошибку Недопустимые флаги регулярного выражения.

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Если вы хотите заменить все пробелы на дефис из URL-адреса, полученного из пути к документу, вы можете сделать это следующим образом:

link = base_url+url;
link = link.replace(/\s/gm, '-');
1 голос
/ 25 сентября 2019

Javascript String.replace принимает только 2 аргумента.Измените это так:

link = link.replace( /s+/gm, "-");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...