每次复选框更改其值时,我都想调用一个 Javascript 函数。我对选择类型的输入做同样的事情,它工作得很好。两个输入都在一张表中。 这是调用第一个函数的一个元素:
<td>
<select name="minuteEnd" id="minuteEnd" onChange="calculateWorkTime()">'.$dropDown_minuteEnd.'
</select>
</td>
调用第二个函数的部分
<td>
<input type="checkbox" name="deleteShift" id="deleteShift" onChange="updateSubmitButton()" /><br />
<input type="checkbox" name="deleteShiftConfirm" id="deleteShiftConfirm" onChange="updateSubmitButton()" />.
</td>
然后我在单独的脚本标签中定义了这两个函数,但我也尝试将它们定义在一个标签中,但这并没有解决问题。因为我并不总是需要它们,所以我为每个要编写的函数调用了一个 PHP 函数。 这些 PHP 函数是
drawScriptCalculateWorkTime();
drawScriptUpdateSubmitbutton();
实际的 Javascript 代码是这样的:
function drawScriptCalculateWorkTime()
{
echo'
<script>
function calculateWorkTime()
{
//I work (My name can be found)
}
</script>
';
}
function drawScriptUpdateSubmitbutton()
{
echo'
<script>
function updateSubmitButton()
{
//I do not work. I get the error: ReferenceError: updateSubmitButton is not defined
//This is my code
var delete = document.getElementById("deleteShift").checked;
var deleteConfirm = document.getElementById("deleteShiftConfirm").checked;
if(delete && deleteConfirm)
{
document.getElementById("submitButton").disabled = false;
}
}
</script>
';
}
我的浏览器控制台总是告诉我
ReferenceError: updateSubmitButton is not defined,
但我检查了大约 20 次这个名字。此外,它总是在窗口加载时告诉我:
SyntaxError: missing variable name
这里指的是第二个javascript的第一行代码。
我已经查过谷歌,甚至在这里发现了一个非常相似的问题 (Javascript Uncaught Reference error Function is not defined),但该解决方案对我不起作用。
如果我没有提供所有需要的信息,我会立即提供。
约翰
最佳答案
在javascript中,delete
是一个保留字,不能用于变量名。
关于函数的 Javascript 引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32554026/