Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用onclick函数在javascript中创建一个元素,该函数传递$\u session var_Javascript_Jquery_Html_Session_Dom - Fatal编程技术网

使用onclick函数在javascript中创建一个元素,该函数传递$\u session var

使用onclick函数在javascript中创建一个元素,该函数传递$\u session var,javascript,jquery,html,session,dom,Javascript,Jquery,Html,Session,Dom,我想要的html代码: <a onclick="DeleteImage('javascript:this.id', <?=$_SESSION['UserID']?>)"></a> 当我不必传递$\u session变量,而只具有此函数时,这就起作用了 function DeleteImage(aid){} 然后我可以在javascript中创建a元素,如下所示: cross = document.createElement('a'); cross.oncl

我想要的html代码:

<a onclick="DeleteImage('javascript:this.id', <?=$_SESSION['UserID']?>)"></a>
当我不必传递
$\u session
变量,而只具有此函数时,这就起作用了

function DeleteImage(aid){}
然后我可以在javascript中创建a元素,如下所示:

cross = document.createElement('a');
cross.onclick = function() { DeleteImage(this.id) };
如何创建a元素,使其生成所需的html代码? 我想要像这样的东西:

cross.onclick = function() { DeleteImage(this.id, "<?=$_SESSION['UserID']?>") };
cross.onclick=function(){DeleteImage(this.id,”)};

这显然不起作用。任何相关帮助:)

我认为您应该改变检索信息的方式,例如
$\u SESSION['UserID']
。一个有趣的选项是创建
数据
属性,例如在
标记本身中:

<html data-user-id="<?=$_SESSION['UserID']?>">
完成后,可以使用旧方法调用
DeleteImage
。(注意:您也可以在Chrome、Firefox和Opera中使用
document.documentElement.dataset.userId
。IE中有部分多边形填充,但我想在您的情况下不值得这样做。)

您甚至可以保存一些额外的周期,在脚本开头检索值并将其存储在范围变量中:

var userId = document.documentElement("data-user-id");
function DeleteImage(aid) {
    ...
}

有点离题,我可以建议使用一些更现代的方式来附加事件侦听器吗?如果脚本是由PHP生成的(例如,嵌入到页面中),那么可能需要考虑某种类型的?

。我想情况并非如此?我有一个脚本,它将在一个单独的文件中创建此元素,该文件无法到达$\u session将此类信息放入
meta
元素非常糟糕,不要这样做。如果您希望JavaScript可以使用一个值,那么您可以简单地让PHP编写代码来创建一个JS变量。如果我在函数中获取meta元素,它会起作用,但是由于某种原因,如果我从外部获取它,它就不起作用。这对我来说并不重要,但我只是想指出:)我是javascript编程新手,肯定会查看事件。谢谢,我能做到吗@您知道JavaScript变量及其赋值是如何静态编写的,对吗…?那么,用PHP生成的值分配部分替换值分配部分的问题在哪里呢?效果也一样,但现在我不必有meta标记。var userId=;
function DeleteImage(aid) {
    var userId = document.documentElement.getAttribute("data-user-id");
    ...
}
var userId = document.documentElement("data-user-id");
function DeleteImage(aid) {
    ...
}