显示';评级';根据使用javascript计算的值像星星一样

显示';评级';根据使用javascript计算的值像星星一样,javascript,html,image,Javascript,Html,Image,我有一个返回数字数组的函数。接下来,我必须在相关的结果id中显示相同数量的星星。作为JavaScript中的一个完整的noob(仍在验证中挣扎:P),我尝试了许多没有用的事情。 希望下面的代码片段(当前状态)能够解决我的问题- function display(name1, number1, sign1, name2, number2, sign2, check, y_nat, o_nat) { document.getElementById("yname").innerHTML = n

我有一个返回数字数组的函数。接下来,我必须在相关的结果id中显示相同数量的星星。作为JavaScript中的一个完整的noob(仍在验证中挣扎:P),我尝试了许多没有用的事情。 希望下面的代码片段(当前状态)能够解决我的问题-

function display(name1, number1, sign1, name2, number2, sign2, check, y_nat, o_nat) {
    document.getElementById("yname").innerHTML = name1 ;
    document.getElementById("ynumber").innerHTML = number1 ;
    document.getElementById("ysign").innerHTML = sign1 ;
    document.getElementById("oname").innerHTML = name2 ;
    document.getElementById("onumber").innerHTML = number2 ;
    document.getElementById("osign").innerHTML = sign2 ;
    document.getElementById('result').innerHTML = check + '%';
/* I am trying to display y_nat[0] Stars in the result id - yr  by calling a show_image(id, number) function! */
    x = "yr";
    document.getElementById("yr").innerHTML = show_image(x ,y_nat[0]) ;
    x = "yl";
    document.getElementById("yl").innerHTML = y_nat[1] ;
    x = "yf";
    document.getElementById("yf").innerHTML = y_nat[2] ;
    x = "yp";
    document.getElementById("yp").innerHTML = y_nat[3] ;
    x = "ys";
    document.getElementById("ys").innerHTML = y_nat[4] ;
    x = "yi";
    document.getElementById("yi").innerHTML = y_nat[5] ;
    x = "or";
    document.getElementById("or").innerHTML = o_nat[0] ;
    x = "ol";
    document.getElementById("ol").innerHTML = o_nat[1] ;
    x = "of";
    document.getElementById("of").innerHTML = o_nat[2] ;
    x = "op";
    document.getElementById("op").innerHTML = o_nat[3] ;
    x = "os";
    document.getElementById("os").innerHTML = o_nat[4] ;
    x = "oi";
    document.getElementById("oi").innerHTML = o_nat[5] ;
}

function show_image (id,number) {
        var img = document.createElement("img");
        img.src = "stars2.png";
        x = number;
    y = id;
        for (i =0; i<x; i++){
        document.getElementById(y).appendChild(img);
    }
}//or something of this sort
功能显示(名称1、编号1、符号1、名称2、编号2、符号2、检查、y_nat、o_nat){
document.getElementById(“yname”).innerHTML=name1;
document.getElementById(“ynumber”).innerHTML=number1;
document.getElementById(“ysign”).innerHTML=sign1;
document.getElementById(“oname”).innerHTML=name2;
document.getElementById(“onumber”).innerHTML=number2;
document.getElementById(“osign”).innerHTML=sign2;
document.getElementById('result')。innerHTML=check+'%';
/*我试图通过调用show_image(id,number)函数在result id-yr中显示y_nat[0]个星星*/
x=“yr”;
document.getElementById(“yr”).innerHTML=show_image(x,y_nat[0]);
x=“yl”;
document.getElementById(“yl”).innerHTML=y_nat[1];
x=“yf”;
document.getElementById(“yf”).innerHTML=y_nat[2];
x=“yp”;
document.getElementById(“yp”).innerHTML=y_nat[3];
x=“ys”;
document.getElementById(“ys”).innerHTML=y_nat[4];
x=“yi”;
document.getElementById(“yi”).innerHTML=y_nat[5];
x=“或”;
document.getElementById(“或”).innerHTML=o_nat[0];
x=“ol”;
document.getElementById(“ol”).innerHTML=o_nat[1];
x=“of”;
document.getElementById(“of”).innerHTML=o_nat[2];
x=“op”;
document.getElementById(“op”).innerHTML=o_nat[3];
x=“os”;
document.getElementById(“os”).innerHTML=o_nat[4];
x=“oi”;
document.getElementById(“oi”).innerHTML=o_nat[5];
}
功能显示图像(id、编号){
var img=document.createElement(“img”);
img.src=“stars2.png”;
x=数量;
y=id;

对于(i=0;i我看到的第一个问题是,在循环中需要有以下两行

    var img = document.createElement("img");
    img.src = "stars2.png";
像这样:

for (var i =0; i<x; i++){
    var img = document.createElement("img");
    img.src = "stars2.png";
    document.getElementById(y).appendChild(img);
}
将此行更改为:

show_image(x ,y_nat[0]) ;
可能有更多的错误,但这正是我所注意到的。我给你举了一个小例子,它可以工作(在IE和Chrome中测试):


函数显示(){
var x=“yr”;
显示_图像(x,3);
}
功能显示图像(id、编号){
var x=数量;
var y=id;

对于(var i=0;i)执行脚本时会发生什么情况?您确定y_nat[0]返回有效数字吗?您如何调用“display”函数?您确定它已执行吗?您确定“stars2.png”与html文件位于同一文件夹中吗?(只是一些可能出错的想法)。请提供更多详细信息。@Preli:Yu_nat[0]返回我能够显示的有效数字。此代码未运行,但如果我使用document.getElementById(“yl”).innerHTML=y_nat[1];等,它将显示id中的数字。stars2.png位于同一文件夹中。显示函数是从表单提交时调用的compute()函数调用的。希望此信息有帮助。
show_image(x ,y_nat[0]) ;
<html>

<head>
<script type="text/javascript">

function display() {
    var x = "yr";
    show_image(x ,3) ;
}

function show_image (id,number) {
    var x = number;
    var y = id;
    for (var i =0; i<x; i++){
        var img = document.createElement("img");
        img.src = "stars2.png";
        document.getElementById(y).appendChild(img);
    }
}


</script>

</head>


<body onload="display();">

<div id="yr"></div>

</body>


</html>