2017-12-25 21 views
-1

prompt()를 사용하여 사용자 입력을 요청하기 전에 html을로드하고 싶습니다. html은 프롬프트를 종료 할 때만로드됩니다. 제 코드를보십시오.프롬프트를 사용하여 사용자 입력을 요청하기 전에 html을로드하십시오.

HTML 코드의 끝에 자바 스크립트를 연결해 보았지만 프롬프트에서 입력을 요청하기 전에 HTML 코드가로드되지 않았습니다.

여기에 HTML 코드입니다 : - 여기

<!DOCTYPE html> 
<html> 
<head> 
    <title>Todo</title> 
    <script type="text/javascript" src="third.js"></script> 
</head> 
<body> 
    <h1>Todo List</h1> 
    <ul> 
     <li>new - To add new Todo</li> 
     <li>list - To list all Todo on Console</li> 
     <li>quit - To quit the Todo App</li> 
     <li>delete - To remove an item from Todo App</li> 
    </ul> 
</body> 
</html> 

자바 스크립트 코드입니다 : -

var ansa = []; 
var ans = prompt("What would you Like to do??"); 
while(ans !== "quit"){ 
    if(ans === "new"){ 
     addTodo(); 
    } else if (ans === "list") { 
     listTodo(); 
    } else if (ans === "delete") { 
     deleteTodo(); 
    }; 
    var ans = prompt("What would you Like to do??"); 
} 

alert("Visit Agaain!!"); 

function addTodo() { 
    var newTodo = prompt("Enter a new Todo!!!") 
    ansa.push(newTodo); 
    console.log(newTodo + " is added to the Todo") 
} 

function listTodo() { 
    // console.log(ansa); 
    console.log("***********"); 
    ansa.forEach(function (item) { 
     console.log(ansa.indexOf(item) + ": " + item) 
     // console.log(index + ": " + item) 
    }) 
    console.log("***********"); 
} 

function deleteTodo() { 
    var index = prompt("Which index would like to delete") 
    ansa.splice(index, 1); 
    console.log("Todo Item deleted") 
} 
+0

'window.onload' 함수에서 코드를 실행하십시오. –

답변

2

당신이 window.onload 콜백에서 코드를 실행하더라도, 그것은 작동하지 않습니다. 어떤 이유로 브라우저가 작동하는 방식입니다.

내가 틀리면 Internet Explorer에서만 기대하는 것처럼 작동합니다. , 아래의 코드를 확인하시기 바랍니다

setTimeout(function() { 
    // your code 
}, 200) 
0

사용의 setTimeout과 지연을 추가

는 항상이 경우에 사용했습니다 해결 방법은 짧은 시간 제한을 추가하는 것이 었습니다!

var ansa = []; 
var delayInMilliseconds = 1000; //1 second 

setTimeout(function() { 
    var ans = prompt("What would you Like to do??"); 
while(ans !== "quit"){ 
    if(ans === "new"){ 
     addTodo(); 
    } else if (ans === "list") { 
     listTodo(); 
    } else if (ans === "delete") { 
     deleteTodo(); 
    }; 
    var ans = prompt("What would you Like to do??"); 
} 

alert("Visit Agaain!!"); 
}, delayInMilliseconds); 



function addTodo() { 
    var newTodo = prompt("Enter a new Todo!!!") 
    ansa.push(newTodo); 
    console.log(newTodo + " is added to the Todo") 
} 

function listTodo() { 
    // console.log(ansa); 
    console.log("***********"); 
    ansa.forEach(function (item) { 
     console.log(ansa.indexOf(item) + ": " + item) 
     // console.log(index + ": " + item) 
    }) 
    console.log("***********"); 
} 

function deleteTodo() { 
    var index = prompt("Which index would like to delete") 
    ansa.splice(index, 1); 
    console.log("Todo Item deleted") 
}