簡體   English   中英

JavaScript事件處理程序不起作用

[英]JavaScript event handler not working

這個javascript:

window.onload=init;

function init(){
    var addSongButton = document.getElementById("addButton");
    addSongButton.onclick = handleAddSongButtonClick;
}

function handleAddSongButtonClick(){
    var textInput = document.getElementById("songTextInput");
    var songName = textInput.value;

    if(songName=""){
        alert("Please enter a song name");
    }
    else{
    alert("Adding " +songName);
    }
}

鏈接到此HTML:

<form>
  <input type="text" id="songTextInput" size="40" placeholder="Song name">
  <input type="button" id="addButton" value="Add Song">
</form>

<ul id="playlist">

</ul>

為什么每當我輸入歌曲名稱或不輸入歌曲名稱時,它只會提醒“添加”? 我希望它在輸入文本時提醒“添加插入歌曲名稱 ”,並在未輸入文本時提示“請輸入歌曲名稱”。

您在if()檢查中使用等號,此處:

if(songName=""){

那就是將`songName'設置為空字符串。 將代碼更改為:

if (songName === "") {

這應該正確地進行比較。

您在if語句中使用賦值運算符=

if(songName="")

您應該使用=====來實際比較這些值。 (見這些差異)

目前正在發生的事情是正在評估songName="" ,並返回"" (已分配的值)。 這是一個假值,意味着它被解釋為false ,所以你的coniditonal語句正在落入你的else但是songName現在等於空字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM