这个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>
为什么每当我输入歌曲名称或不输入歌曲名称时,它只会提醒“添加”?我希望它在输入文本时提醒“添加插入歌曲名称”,并在未输入文本时提醒“请输入歌曲名称”。
答案 0 :(得分:2)
您在if()
支票中使用等号,此处:
if(songName=""){
将`songName'设置为空字符串。将代码更改为:
if (songName === "") {
。 。 。这应该做正确的比较。
答案 1 :(得分:0)
您在if语句中使用了赋值运算符=
:
if(songName="")
您应该使用==
或===
来实际比较这些值。 (参见this了解这些之间的区别)
目前正在进行的是songName=""
正在评估,并返回""
(已分配的值)。这是一个假值,意味着它被解释为false
,因此您的条件语句会落到您的else
,但songName
现在等于空字符串。