簡體   English   中英

將JSON編碼的PHP數組傳遞給HTML onclick

[英]Passing a JSON encoded PHP array to HTML onclick

我正在嘗試填充我的jquery數據表,並且我已經成功做到了。 除非在html標記的javascript函數參數之一中傳遞JSON編碼的字符串時,否則。 我正在使用來自PHP的以下代碼。 如下所示,我在onclick部分中函數的最后一個參數上傳遞了$ update_data變量的json_encode。

                       $update_data = 
                            array(
                            array('Page type',array( array('1 - Standard','Standard'), array('2 - HTML','HTML') ),'select','noval'),
                            array('title',$row->title,'input','val'),
                            array('header',$row->header,'input','noval'),
                            array('footer',$row->footer,'input','noval'),
                            );

$subarray[]='<center> <span data-target="#updatepost'.$row->_id.'" data-toggle="modal" onclick="easy_update(\'update\',\'post\',\'book/update-book-folder-designation\','.$row->_id.',\'Update Pages\',\''.json_encode($update_data).'\')" class="btn fa fa-pencil"></span> </center>';

然后我得到一個錯誤

未捕獲的SyntaxError:無效或意外的令牌

當我從onclick調用函數時。 但是javascript錯誤行什么也沒有指向。

我的JavaScript函數就是

function easy_update(type,method,url,id,header_title,data){

 }

我懷疑這與json字符串的格式有關,該格式導致讀取我的js函數參數時一團糟,但我不確定。 這是我來自inspect元素的html標記的圖像

渲染視圖

當我用常規字符串作為參數替換json編碼的字符串時,我沒有收到任何錯誤。 我希望我能提供有關該問題的足夠信息。

我想您正在嘗試將字符串參數用作客戶端函數easy_update()上的JS對象。 嘗試發送不帶引號的data ,如下所示:

$subarray[]='<center> <span data-target="#updatepost'.$row->_id.'" data-toggle="modal" onclick="easy_update(\'update\',\'post\',\'book/update-book-folder-designation\','.$row->_id.',\'Update Pages\','.json_encode($update_data).')" class="btn fa fa-pencil"></span> </center>';

另外,您還需要替換標記或json_encode()結果中的引號,例如:

$var = str_replace('"', '\'', json_encode($update_data));

然后將其發送給函數,可能的選項之一是:

$encoded = str_replace('"', '\'', json_encode($update_data));
$subarray[]='<center> <span data-target="#updatepost'.$row->_id.'" data-toggle="modal" onclick="easy_update(\'update\',\'post\',\'book/update-book-folder-designation\','.$row->_id.',\'Update Pages\','.$encoded.')" class="btn fa fa-pencil"></span> </center>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM