按钮传递javascript变量

时间:2017-09-02 20:08:48

标签: javascript mysql button

我从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('');

},

2 个答案:

答案 0 :(得分:0)

下面我已经为你翻过单引号,再次注意\''这就是诀窍。但要注意还有其他逃避问题,例如f="shoe's"等等。

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

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

console.log(arr.join(''));

答案 1 :(得分:0)

试试这个会对你有用

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