테이블에 NULL 값이 삽입되는 것을 방지하려면 값을 입력할 때 조건 검사를 수행해야 합니다. NULL 여부를 확인하는 조건은 다음과 같이 작성합니다.
while( !( yourVariableName1==null || yourVariableName2==null ||
yourVariableName3==null…...N){
// yourStatement1
.
.
N
}위와 같은 논리 구조를 사용하면 어떤 경우에도 NULL 값이 삽입되는 것을 막을 수 있습니다.
이제 while 루프와 함께 for 루프를 활용하여 NULL 값 없이 테이블에 데이터를 삽입해 보겠습니다. 다음은 전체 예제 코드입니다.
예제 코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initialscale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fontawesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<h2>테이블에 값 삽입하기 데모</h2>
<p>JavaScript 배열을 활용한 데모입니다.</p>
<p id="demo"></p>
<script>
var index = 0;
var firstNameArray = new Array();
var lastNameArray = new Array();
var firstName = "";
var lastName = "";
while (!(firstName == null || lastName == null)) {
firstName = prompt("Please Enter your First Name=");
lastName = prompt("Please Enter your Last Name=");
firstNameArray[index] = firstName;
lastNameArray[index] = lastName;
index++;
}
document.writeln("<table border='1' width='50%'>");
document.writeln("<caption>DEMO TABLE IN JAVASCRIPT</caption>");
document.writeln("<th>FirstName</th><th>LastName</th>");
for (var startIndex in firstNameArray) {
if (firstNameArray[startIndex] !== null &&
lastNameArray[startIndex] !== null)
document.writeln("<tr><td>" + firstNameArray[startIndex] +
"</td><td>" + lastNameArray[startIndex] + "</td></tr>");
}
document.write("</table>");
</script>
</body>
</html>실행 방법
위 프로그램을 실행하려면 파일 이름을 "anyName.html(index.html)"로 저장한 후, 해당 파일을 마우스 오른쪽 버튼으로 클릭합니다. 그다음 VS Code 편집기에서 "Open with Live Server" 옵션을 선택하면 됩니다.
실행 결과
프로그램을 실행하면 다음과 같은 화면이 나타납니다.

먼저 이름(First Name)을 입력합니다.
그러면 다음과 같은 출력 결과가 표시됩니다.

OK 버튼을 클릭하면 아래와 같은 결과를 확인할 수 있습니다.

이어서 성(Last Name)을 입력하면 다음과 같은 화면이 나타납니다.

OK 버튼을 클릭한 후, 이번에는 Cancel 버튼을 두 번 클릭하면 최종 결과가 출력됩니다. Cancel을 누르면 prompt() 함수가 null을 반환하고, while 루프의 조건 검사에 의해 반복이 종료되기 때문입니다.
최종적으로 생성된 테이블은 다음과 같습니다.
