2016-09-25 27 views
0

我一直在试图让这个脚本正常工作。我制作了一个PHP随机数生成器,我试图将它提供给我的主php页面,并使用每次按下按钮时生成的数字更新div。使用PHP/Javascript更新元素

它工作,种。它会生成第一个数字,无论您之后按下按钮多少次,它都不会再更新该元素。

我以为我可能必须先清除元素,所以我添加了它,但它仍然无法工作。下面是我的index.php和randomRoller.php

<?php 
include("./includes/randomRoller.php") 
?> 
<style type="text/css"> 
#cookies { 
    width: 50px; 
    height: 100px; 
    background-color: #000000; 
    color: #ffffff; 
} 
#bunnies { 
    width: 100px; 
    height: 500px; 
    background-color: #555555; 
    color: red; 
} 
</style> 
<script> 
function roll() { 
    document.getElementById('bunnies').innerHTML = ''; 
    document.getElementById('bunnies').innerHTML = '<?php echo(roll()) ?>'; 
} 
</script> 
<button type="button" onClick="roll()">Test</button> 
<div id="cookies"> 
</div> 
<br> 
<br> 
<div id="bunnies"> 
</div> 

./includes/randomRoller.php

<?php 
    function roll() { 
     return rand(1 , 200); 
    } 
?> 

任何提示或建议,您可以给我将不胜感激代码。

+0

打开生成的html,看看你有什么有 –

+0

的[客户端和服务器端编程之间的区别是什么?]可能的复制(HTTP://计算器.COM /问题/ 13840429 /什么,是最差的客户间-SI de-and-server-side-programming) –

+0

它会产生一次性的原因,因为您的页面中只有一个调用roll()。每次按下按钮,使用ajax获取新的随机数 – Andreas

回答

0

我不知道这是否是至关重要的,它是产生数一个单独的页面,如果没有可以用JS创建一个随机数,像这样:

<script> 
function roll() { 
    var bunnies = document.getElementById('bunnies') 
    bunnies.innerHTML = Math.floor((Math.random() * 10) + 1); 
} 
</script> 
<button type="button" onClick="roll()">Test</button> 

您可以使用AJAX(jQuery的库)从另一个页面加载号:

function roll() { 
    $.get("/includes/randomRoller.php", function(data) { 
    $("#bunnies").html(data); 
    }); 
}