数値をインクリメントするグローバル変数がいくつかあります。
var i = 0;
var num = (i-1)+2;
var i = num;
次に、数値をチェックしてHTMLを表示する関数があります。
function showChild(){
if(num===1){
document.getElementById("childFirst00").style.display = "block";
document.getElementById("childLast00").style.display = "block";
document.getElementById("deleteChild00").style.display = "block";
num++;
}else if(num===2){
document.getElementById("childFirst01").style.display = "block";
document.getElementById("childLast01").style.display = "block";
document.getElementById("deleteChild01").style.display = "block";
num++;
}else if(num===3){
document.getElementById("childFirst02").style.display = "block";
document.getElementById("childLast02").style.display = "block";
document.getElementById("deleteChild02").style.display = "block";
num++;
}else if(num===4){
alert("Please Contact The Rectory If You Need To Add More Children");
}
}
これはすべて正しく機能します。
ただし、deleteChild00
次の関数を呼び出すボタンをクリックするとnot enough arguments
、Firebugでエラーが発生します。
function removeChild(){
if(num===2){
document.getElementById("childFirst00").style.display = "none";
document.getElementById("childLast00").style.display = "none";
document.getElementById("deleteChild00").style.display = "none";
num--;
}else if(num===3){
document.getElementById("childFirst01").style.display = "none";
document.getElementById("childLast01").style.display = "none";
document.getElementById("deleteChild01").style.display = "none";
num--;
}else if(num===4){
document.getElementById("childFirst02").style.display = "none";
document.getElementById("childLast02").style.display = "none";
document.getElementById("deleteChild02").style.display = "none";
num--;
}
}
これは、removeChild()関数を呼び出す入力HTMLです。
<input type="button" id="deleteChildButton" value="Remove Child" onClick="removeChild()"/>
removeChild()関数で「引数が足りません」エラーの原因は何ですか?