gpt4 book ai didi

javascript - javascript onclick 函数字符串问题

转载 作者:行者123 更新时间:2023-11-28 12:10:40 25 4
gpt4 key购买 nike

嘿大家,我已经在这个问题上尝试了几分钟,但我似乎不知道如何纠正它。当函数中涉及多个变量时,我往往会遇到最困难的事情。

这是代码:

  var tempString = "thePrompt('Are you sure you wish to delete this?', 'theDel('" + IDnum + "', '" + theTitle + "', \'" + temperDay + "\', \'" + temperMonth + "\', \'" + temperYear + "\', \'" + DDiff + "\')";

html +=
"<div id='theTable" + IDnum + "' class='fc-event fc-event-hori fc-corner-left fc-corner-right' style='position:absolute; margin-top: 15px; z-index:8;left:"+left+"px'><div id='apDEL' style='position:relative;width:0px;height:0px;z-index:1000; top:-13px; left:2px; float:left;'><img src='img/xCal.png' width='15' height='15' alt='' border='0' onclick=\"" + tempString + "\" /></div>" + (ETC ETC...)

我不断收到的错误是这样的:

 Error: missing ) after argument list
Line: 1, Column: 68
Source Code:
thePrompt('Are you sure you wish to delete this posting?', 'theDel('105', '50 points for visiting us today!!!!', '13', '3', '2010', '2')

它指向“105”。

一如既往,任何帮助都会很棒! :o)

大卫

编辑/更新

好吧,现在我已经移动了一些东西并且它开始工作了(即将值发送到弹出提示框,但由于某种原因,在我点击删除按钮后它看不到我的功能!这是因为提示位于主页上,我正在使用的代码位于 iframe 内。

function theDel(theID, theTitle, day, month, year, DDiff)
{
var tempString = "delClientE(" + theID + ", '" + theTitle + "', " + day + ", " + month + ", " + year + ", " + DDiff + ")";
parent.thePrompt('Are you sure you wish to delete this event?', tempString);
}

删除按钮值现在如下所示:

delClientE(110, 'sadfsadfsdf', 14, 3, 2010, 2); jQuery.prompt.close();

但是,即使放入parent.delClientE也找不到该函数...当提示框位于iframe之外时,如何从iframe内调用它?

大卫

最佳答案

跟踪嵌套上下文中的转义确实很困难,而且因为当您出错时,您经常会给自己带来脚本注入(inject)安全问题,因此最好避免通过将字符串粘在一起来创建 HTML/JS。

相反,使用 DOM 方法从 JavaScript 分配事件处理程序,告别所有烦人的反斜杠和引用内容:

var img= document.createElement('img');
img.src= 'img/xCal.png';
img.width=img.height= 15;
img.onclick= function() {
if (confirm('Are you sure you wish to delete this?'))
theDel(IDnum, theTitle, temperDay, temperMonth, temperYear, DDiff);
};
div.appendChild(img);

关于javascript - javascript onclick 函数字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com