繁体   English   中英

按钮传递javascript变量

[英]button passing javascript variable

我正在从mysql数据库中获取此数据,并打印每一行并添加一个按钮。 但是逃避是一个主要问题。 有没有一种方法可以轻松地将其转换为DOM而不是打印内联html?

render : function(template,params){
var arr = [];
switch(template){
    case 'loginTopBar':
        arr = [
        '<span><img src="',params.gravatar,'" width="23" height="23" />',
        '<span class="name">',params.name,
        '</span><a href="" class="logoutButton rounded">Logout</a></span>'];
    break;



    case 'chatLine':

        arr = [
            '<div class="chat chat-',params.id,' rounded"><span class="gravatar"><img src="',params.gravatar,
            '" width="23" height="23" onload="this.style.visibility=\'visible\'" />','</span><span class="author">',params.author,
            ':</span><span class="text">"',params.text,'"</span><span class="time">',params.time,'</span></div>'];
    break;



    case 'user':

        arr = [
            '<div class="user" id="',params.text,'" title="',params.text,'"> <button type="button" value="',params.text,'" class="btn btn-success" onclick="ImageHosting_Click( \'',params.text,'\')"></button>',params.text,'',params.text,'</div>'
        ];
    break;  

    case 'userz':
        arr = [
            '<div class="userz" title="',params.disp,'">',params.disp,'</div><br>'  
        ];
    break;
}

// A single array join is faster than
// multiple concatenations

return arr.join('');

},

在下面,我为您转义了单引号,再次注意\\''是技巧。 但是请注意,还有其他转义问题,例如f="shoe's"等。

这就是我建议首先创建DOM元素并使用innerText等的原因。

 var f= "hello"; var arr = ['<button type="button" onclick="ImageHosting_Click(\\'',f,'\\')">']; console.log(arr.join('')); 

试试这个会为你工作

<button type="button" onclick="ImageHosting_Click(\'',f,\'')">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM