簡體   English   中英

函數中的innerHTML(全局變量?)

[英]innerHTML in function (Global variables?)

我很難讓這個工作。 dispatch()函數似乎被觸發(使用警報測試),但innerHTML行似乎不起作用。

此外,盡管onSubmiti++i似乎並沒有增加。

這是有問題的功能:

function dispatch(passengers,i,timesArray)
{
    alert('value of i is '+i);
    timesArray[i]=getTime();

    var avTime=getAverageTime(timesArrary);

    var throughput=passengers*3600000/avTime;

    if(i==0)
    {
        document.getElementById('output').innerHTML = 'Calculating...';
    }
    else
    {
        document.getElementById('output').innerHTML = throughput;
    }
    //and possibly a list (w/e)
}

以下是表格:

<form method="post" action="javascript:void(0);" name="applesForm" onSubmit="dispatch(document.applesForm.numPassengers.value, num, times);i++;">
    <input type="text" name="numApples" id="numPassengers" />
    <br/>
    <input type="submit" name="Submit" value="Press on Dispatch!"/>
</form>

這可能是一個無法從函數內部更改全局變量的問題嗎?

或者, avTimethroughput線是否有問題導致功能停止?

謝謝。

在這一行:

<form method="post" action="javascript:void(0);" name="applesForm" onSubmit="dispatch(document.applesForm.numPassengers.value, num, times);i++;">

i是一個全局變量,但在dispatch() i是一個不在全局范圍內的參數。 dispatch()內部,它位於該函數的局部范圍內,並且不能在全局范圍內增加。 因此我認為你的onSubmit()應該是:

onSubmit="dispatch(document.applesForm.numPassengers.value, num, times);num++;">

為什么變量在函數外增加? 它不應該在功能內並增加嗎?

此外,如果num是全局的,則不需要將其作為參數傳遞。

// global
var num = 0;

function dispatch(passengers, timesArray)
{
    alert('value of num is ' + num);
    timesArray[num]=getTime();

    var avTime = getAverageTime(timesArrary);

    var throughput = passengers * 3600000 / avTime;

    if(num == 0)
    {
         document.getElementById('output').innerHTML = 'Calculating...';
    }
    else
    {
        document.getElementById('output').innerHTML = throughput;
    }
    //and possibly a list (w/e)

    // increasing num here!
    num++;
}

然后你的表單可以放棄變量的增加,以及調用中的num。

<form method="post" action="javascript:void(0);" name="applesForm" onSubmit="dispatch(document.applesForm.numPassengers.value, times)">

干杯,Apoc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM