gpt4 book ai didi

javascript - 在提示时检测空值

转载 作者:可可西里 更新时间:2023-11-01 02:55:11 25 4
gpt4 key购买 nike

当用户在提示时按确定(并且之前清空提示字段)时如何检测空值?我需要用新(空)值覆盖旧值。我这样做:

var oldVal = 'something';
var newVal = prompt("Enter new value:", oldVal);

目前,如果用户清空值并单击确定,它会返回 null。

但同时我需要检查空值,因为如果用户单击“取消”,它将返回空值,我不想将其作为新值。

最佳答案

如果用户点击 OK,它不会返回 null - 它将返回一个空字符串。您可能没有正确测试返回值。如果你想在三种不同的返回状态之间进行测试,你可以这样做:

var oldVal = 'something';
var newVal = prompt("Enter new value:", oldVal);
if (newVal === "") {
// user pressed OK, but the input field was empty
} else if (newVal) {
// user typed something and hit OK
} else {
// user hit cancel
}

工作演示:http://jsfiddle.net/jfriend00/Kx2EK/


您的评论表明您正在使用此代码来测试结果:

if(!newVal || oldVal == newVal)return false;

当用户清除字段并按下 OK 时,newVal 将为 ""(空字符串)。 !newVal 将为 true,因此您将返回 false。空字符串是一个虚假值,就像 null 一样。您需要像这样更明确地检查 null:

if (newVal === null || newVal === oldVal) {
// cancel button was hit
// or the same value was entered
return false;
}

此逻辑的工作演示:http://jsfiddle.net/jfriend00/ynwBx/

注意:我使用 === 来防止 javascript 解释器进行任何类型转换,因为我只想显式检查 null

关于javascript - 在提示时检测空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20533127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com