我想在onclick中添加一个带有3个参数的函数:int,int,string。包含HTML和其他引用的字符串参数。可能吗?。我在这里看到pass string,但它不适合我的情况。
<p onclick="myfunction(0,3,'<b">FirstName =
\"Dondellx\"\n<b>LastName</b> = \"Batacx\"\n<b>path</b> =
\"xxxpath\""');dondell
</p>
这个包含带有许多\\字符的字符串的函数实际上来自一个JSON文件,我把它放在&#34; p&#34;在读取JSON时循环标记。
我正在做的是获取JSON项并放入字符串参数;
//This is a for loop
<p onclick="myfunction(0,3,'dataFromJSon[0]')"></p>
<p onclick="myfunction(0,3,'dataFromJSon[1]')"></p>
<p onclick="myfunction(0,3,'dataFromJSon[2]')"></p>
这是输入我的文字的文本编辑器。 正如你所看到的,我在textArea中有引号,所以我需要用qoutations保存它。 :
这是JSON:
答案 0 :(得分:1)
这肯定是因为HTML和JavaScript代码中存在很多语法错误。
没有正确转义引号,没有在javascript字符串声明中转义换行符,HTML标记未正确关闭,属性值未正确定义...
也许可以试试这个(我已经为假设实现了假myfunction
并将\n
替换为<br/>
,换行符在HTML中没有意义。
function myfunction(a,b,str){
var row = document.createElement('div');
row.innerHTML = str;
document.body.appendChild(row);
}
&#13;
<p onclick="myfunction(0,3,'<b>FirstName = "Dondellx"<br/><b>LastName</b> = "Batacx"<br/><b>path</b> = "xxxpath"');">dondell
</p>
&#13;
答案 1 :(得分:1)
你的html确实是错误的,所以我创建了一个更简单的演示。希望它仍然有用,因为我使用一个对象传递html代码以及其他参数。
var object = {a:0,b:3,c:'<b>FirstName=</b>Dondellx'};
function myfunction(obj){
document.getElementById("out").innerHTML=obj.c;
}
&#13;
<p onclick="myfunction(object)">click</p>
<div id="out"></div>
&#13;