2014-12-22 3 views
0
window.onload = init; 

function init() { 
    var button = document.getElementById("addButton"); 
    button.onclick = function() { 
     var songTitle = document.getElementById("songTextInput").value; 
     if (songTitle == "") alert("Baba Put Something Jare"); 
     else { 
      var playlist = document.getElementById("playlist"); 
      var song = document.createElement("li"); 
      song.innerHTML = songTitle; 
      playlist.appendChild(song); 
     } 
    }; 
} 

HTML, тело состоит из:Пожалуйста, почему этот код обновляет мою страницу после события onclick?

<!doctype html> 
 
<html lang="en"> 
 

 
<head> 
 
    <link rel="stylesheet" href="#" /> 
 
    <meta charset="UTF-8" /> 
 
    <title>Web Tunes</title> 
 
    <script src="playlist.js"></script> 
 
</head> 
 

 
<body> 
 
    <form> 
 
    <input type="text" id="songTextInput" placeholder="Song Title"> 
 
    <input type="submit" id="addButton" value="Add Song"> 
 
    </form> 
 
    <ul id="playlist"></ul> 
 
</body> 
 

 
</html>

код выводит новый элемент списка, но обновляется сразу .. Пожалуйста, помогите.

+0

use event.preventDefault(); так что он остановит форму для отправки –

+0

Спасибо, ребята. Head First HTML Programming использовал этот код, и я предполагаю, что он сработал для них. Никакая книга не прекрасна в конце концов .. Pls Как мы информируем их? Ради будущих читателей – user3622157

ответ

1

У вас есть входной тип submit внутри тега формы. Кнопка отправки сообщений Форма на сервер. Просто добавьте return false;, чтобы остановить отправку формы на сервер.

window.onload = init; 

function init() { 
    var button = document.getElementById("addButton"); 
    button.onclick = function() { 
     var songTitle = document.getElementById("songTextInput").value; 
     if (songTitle == "") alert("Baba Put Something Jare"); 
     else { 
      var playlist = document.getElementById("playlist"); 
      var song = document.createElement("li"); 
      song.innerHTML = songTitle; 
      playlist.appendChild(song); 
     } 
     return false; 
    }; 
} 
+0

Большое спасибо .. Это ответили на мой вопрос. – user3622157

0
<!doctype html> 
<html lang="en"> 

<head> 
    <link rel="stylesheet" href="#" /> 
    <meta charset="UTF-8" /> 
    <title>Web Tunes</title> 
    <script src="playlist.js"></script> 
</head> 

<body> 

    <input type="text" id="songTextInput" placeholder="Song Title"> 
    <input type="submit" id="addButton" value="Add Song"> 

    <ul id="playlist"></ul> 
</body> 

</html> 

Из выше кода Js, нет необходимости использовать тэг формы. Потому что мы можем получить напрямую

Смежные вопросы