如何仅在输入字段不为空时触发js中的onclick函数?

在这里,我希望仅当我在输入字段中输入内容时才触发该函数。如果它是空的,我想提醒它不能为空。我尝试了 if else 条件,但没有帮助。我什至尝试使用 typeof 但无论什么类型都是字符串。


const input  =  document.querySelector("#input");



function myFunc(){

let name = input.value;

if(name==null){

alert("PLEASE ENTER YOUR NAME")

} else{

alert('Hello'+' '+name);

}

};

<body>

 

  

  <input placeholder="Enter your name" id="input">

  <button id="btn" onclick="myFunc()">Click me!</button>

  

</body>


沧海一幻觉
浏览 126回答 3
3回答

缥缈止盈

input.value当输入为空时不为空,它只是空字符串。尝试这个:const input = document.querySelector("#input");function myFunc() {&nbsp; let name = input.value;&nbsp; if (name == "") {&nbsp; &nbsp; alert("PLEASE ENTER YOUR NAME")&nbsp; } else {&nbsp; &nbsp; alert('Hello' + ' ' + name);&nbsp; }};<body>&nbsp; <input placeholder="Enter your name" id="input">&nbsp; <button id="btn" onclick="myFunc()">Click me!</button></body>

慕森王

您还必须检查空字符串。在实践中,你永远不会得到 input.value 的空值,但保守地编程也不错function myFunc(){let name = input.value;if(name==null || name.length == 0){alert("PLEASE ENTER YOUR NAME")} else{alert('Hello'+' '+name);}};或者你可以利用 Javascript 实现 not (!) 运算符的出色功能,然后执行以下操作:function myFunc(){let name = input.value;if(!name){alert("PLEASE ENTER YOUR NAME")} else{alert('Hello'+' '+name);}};

慕田峪9158850

您需要测试空/空间,并且不建议使用内联事件处理程序document.getElementById("btn").addEventListener("click", function() {&nbsp; const input = document.getElementById("input");&nbsp; const name = input.value.trim();&nbsp; alert(name ? 'Hello ' + name : 'Please enter your name')});<input placeholder="Enter your name" id="input"><button type="button" id="btn">Click me!</button>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript