javascript - 函数中的innerHTML(全局变量?)

标签 javascript dom-events

我正在努力让这个工作正常进行。 dispatch() 函数似乎被触发(使用警报进行测试),但 innerHTML 行似乎不起作用。

此外,尽管 onSubmit 中存在 i++,但 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++;">

关于javascript - 函数中的innerHTML(全局变量?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221957/

相关文章:

javascript - 如何从这些 JSON 对象中过滤掉值

javascript - React State 数据无法作为 props 传递

javascript - SuiteScript 清空字段值中的 record.setFieldValues() 问题

javascript - 嵌入包含 ng-binds 的 HTML

javascript - ASP.NET 中的 OnClientClick 事件

javascript - 克隆元素及其所有事件

java - DJ Native Swing javascript 命令问题

使用改写/插入键的 JavaScript 最大长度验证

javascript - 需要跟踪用 CSS 突出显示的 'selected' div

javascript - Chrome 右键对话框吞没鼠标事件