简体   繁体   English

按钮上的Java单击不起作用

[英]Javascript on button click not working

I have a script set up so that I can embed various Facebook Posts on a website. 我设置了一个脚本,以便可以在网站上嵌入各种Facebook帖子。 The idea is, it will load a post at random, and then on button click load another. 这个想法是,它将随机加载一个帖子,然后在按钮上单击加载另一个。 As I am clicking the button, the previous post disappears but the new one that I have called for does not appear. 当我单击按钮时,上一则帖子消失了,但是我所要求的新帖子却没有出现。

Can anyone shed any light? 谁能阐明任何想法?

Javascript: Javascript:

var comps = new Array();

comps[0] = "\"https://www.facebook.com/permalink.php?story_fbid=10151746360309352&id=9212109351\"";

comps[1] = "\"https://www.facebook.com/photo.php?fbid=10202149995929199&set=a.3217789641447.156870.1167545588&type=1\"";

var firstLine = "<div id=\"fb-root\"></div>";

var secondLine = "<div class=\"fb-post\" data-href=";

var thirdLine = " data-width=\"550\"></div>";

var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine;

window.onload=function(){

document.getElementById('compsContainer').innerHTML = randomComp;
}

function changeComp(){

document.getElementById('compsContainer').innerHTML = randomComp;
}

HTML: HTML:

    <div id="compsContainer">



    </div>

    <input type='button' onclick='changeComp()' value='Change Comp'/>

change onlick='' to onclick='javascript:changeComp()' ? 将onlick =“更改为onclick ='javascript:changeComp()'吗?

Ok, I misunderstand you question. 好吧,我误会了你的问题。

try this: 尝试这个:

function newFunction(){
    var comps = new Array();

    comps[0] = "\"https://www.facebook.com/permalink.php?story_fbid=10151746360309352&amp;id=9212109351\"";

    comps[1] = "\"https://www.facebook.com/photo.php?fbid=10202149995929199&amp;set=a.3217789641447.156870.1167545588&amp;type=1\"";

    var firstLine = "<div id=\"fb-root\"></div>";

    var secondLine = "<div class=\"fb-post\" data-href=";

    var thirdLine = " data-width=\"550\"></div>";

    var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine;

    return randomComp;

}

window.onload=function(){

    document.getElementById('compsContainer').innerHTML = newFunction();
}




function changeComp(){



document.getElementById('compsContainer').innerHTML = newFunction();
}

when you call changeComp, it does not run: 当您调用changeComp时,它不会运行:

var randomComp = firstLine + secondLine + comps[Math.floor(Math.random()* comps.length)] + thirdLine;

so randomComp will be empty. 因此randomComp将为空。

(updated) (更新)

If you don't have any other buttons in the html page. 如果您在html页面中没有其他按钮。 Try this, it will work. 试试这个,它将起作用。

<input type='submit' onsubmit='changeComp()' value='Change Comp' />

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

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