[英]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.