我在PHP文件中有这段代码。
var my_edit = "<div title='Edit record: "+ rowObject['my_id'] +"'
onclick=\"jQuery('#grid').jqGrid('editGridRow', '" + options.rowId + "',
{ onInitializeForm : $upload } );\" >Edit</div>";
变量 $ upload 是这样的:
$upload = <<<UPLOAD
function (formid) {
alert('I am in UPLOAD!');
$("#cusom_id", formid).button();
// other code with many quotes and apostrophes
}
UPLOAD;
我的代码无效,因为引号和撇号都有错误。
将 $ upload 函数注入我上面发布的第一段代码中的正确方法是什么?
答案 0 :(得分:1)
您需要转义引号,并且应该能够使用addslashes()
$upload = <<<UPLOAD
function (formid) {
alert('I am in UPLOAD!');
$("#cusom_id", formid).button();
// other code with many quotes and apostrophes
}
UPLOAD;
$upload = addslashes($upload);
// now you can embed it in the string my_edit.
答案 1 :(得分:0)
嗯,说实话!这不能正常工作,这不是一个好习惯。
我想知道你为什么使用PHP变量来调用$ upload中的javascript函数,你可以通过javascript函数直接访问它!
例如......
function myUpload (formid) {
alert('I am in UPLOAD!');
$("#cusom_id", formid).button();
// other code with many quotes and apostrophes
}
var my_edit = "<div title='Edit record: "+ rowObject['my_id'] +"'onclick=\"jQuery('#grid').jqGrid('editGridRow','" + options.rowId + "', {onInitializeForm : myUpload(formid) } );\" >Edit</div>";