为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

沧海一幻觉 2023-10-14 18:59:40
在这里,我希望仅当我在输入字段中输入内容时才触发该函数。如果它是空的,我想提醒它不能为空。我尝试了 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>
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

input.value当输入为空时不为空,它只是空字符串。

尝试这个:


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


function myFunc() {

  let name = input.value;

  if (name == "") {

    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>


查看完整回答
反对 回复 2023-10-14
?
慕森王

TA贡献1777条经验 获得超3个赞

您还必须检查空字符串。在实践中,你永远不会得到 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);

}

};


查看完整回答
反对 回复 2023-10-14
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

您需要测试空/空间,并且不建议使用内联事件处理程序


document.getElementById("btn").addEventListener("click", function() {

  const input = document.getElementById("input");

  const name = input.value.trim();

  alert(name ? 'Hello ' + name : 'Please enter your name')

});

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

<button type="button" id="btn">Click me!</button>


查看完整回答
反对 回复 2023-10-14
  • 3 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信