js 中 if()判断一直为false

satanjop 2018-06-01 10:33:49
function add() {
var type = document.getElementById("type").value;

if ("update"== type) {
alert(type);
} else if("add" == type){
alert(type);
}
}
我的type返回值就只有update和add,这个值是action中用request.setAttribute();设置的;
现在的问题是不管我的type是add还是update,"update"== type和"add" == type这两个判断都是false,
求解答
...全文
2474 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
krukur 2018-07-08
  • 打赏
  • 举报
回复
这个在浏览器里打个断点看下值就应该好看出来问题出在哪了
qingkooo 2018-07-05
  • 打赏
  • 举报
回复
首先,最好的方法是在浏览器中打断点调试,你能很清楚的看到值是什么,为什么不相等;
其次,我们就在当前页面中做下调试好了:

输入add,然后打开console面板

输入值和类型判断,证明是可以达到你要的效果的。

祝调试好运
CJM无限Coding 2018-07-05
  • 打赏
  • 举报
回复
发一下具体的代码吧,这样看不出来。。。
丰云 2018-07-04
  • 打赏
  • 举报
回复


简单调试下的事。。。。。
搞得好像多么严重似得。。。
柴九小哥 2018-07-04
  • 打赏
  • 举报
回复
用jquery更方便,
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
function add() {
var type = document.getElementById("type").value;
var type2 = $("#type2").val()
$(".dir").html(type+'-----'+type2)

if ("update"== type) {
alert(type+type2);
} else if("add" == type){
alert(type+type2);
}
}
</script>
</head>

<body>
<div class="dir" style="color:#F00">我要出来了</div>
<input type="text" name="type" value="update" id="type"><input type="text2" name="type" value="update2" id="type2"><input name="" type="button" onClick="add()" value="测试一下">
</body>
</html>
qq_38084585 2018-07-04
  • 打赏
  • 举报
回复
你试试 "update" eq type
师傅星辰 2018-06-29
  • 打赏
  • 举报
回复
检查下是否去掉空格了,以及检查下你的数据类型
mkmin 2018-06-14
  • 打赏
  • 举报
回复
具体的代码发上来看下吧,感觉你这个输入的时候有问题
zhlxyzb 2018-06-14
  • 打赏
  • 举报
回复
var type = document.getElementById("type").value.replace(/(^\s*)|(\s*$)/g, "");
文修 2018-06-14
  • 打赏
  • 举报
回复
楼主你好,建议直接将type的值输出到控制台,或者用断点看看类型和值
键盘敲出字 2018-06-01
  • 打赏
  • 举报
回复
console.log(typeof type);
看下数据是什么类型的
75闪光雷 2018-06-01
  • 打赏
  • 举报
回复
引用 2 楼 satanjop 的回复:
[quote=引用 1 楼 qq_34309305 的回复:] 你先把下面代码试一下,alert(type)看看他是啥,在比较

function add() {
        var type = document.getElementById("type").value;
       
             if ("update"== type) { 
              alert(type);
            } else if("add" == type){
                alert(type);
            }else{
            alert(type);
            }
}
alert(type);能正确的弹出add或者update [/quote] 那这问题不好解决了
satanjop 2018-06-01
  • 打赏
  • 举报
回复
引用 1 楼 qq_34309305 的回复:
你先把下面代码试一下,alert(type)看看他是啥,在比较

function add() {
        var type = document.getElementById("type").value;
       
             if ("update"== type) { 
              alert(type);
            } else if("add" == type){
                alert(type);
            }else{
            alert(type);
            }
}
alert(type);能正确的弹出add或者update
75闪光雷 2018-06-01
  • 打赏
  • 举报
回复
你先把下面代码试一下,alert(type)看看他是啥,在比较

function add() {
        var type = document.getElementById("type").value;
       
             if ("update"== type) { 
              alert(type);
            } else if("add" == type){
                alert(type);
            }else{
            alert(type);
            }
}
天际的海浪 2018-06-01
  • 打赏
  • 举报
回复
先确定add()函数执行了没有,代码有没有报错。 再看看字符串前后是否有空格 alert("*"+type+"*");
Hello World, 2018-06-01
  • 打赏
  • 举报
回复
有没有空格什么的?
wcwtitxu 2018-06-01
  • 打赏
  • 举报
回复
alert(JSON.stringify(type)) 看一下,说不定 type 两边有不可见字符
___紫菜 2018-06-01
  • 打赏
  • 举报
回复
引用 4 楼 a755362405 的回复:
console.log(typeof type);
看下数据是什么类型的
对,看下数据类型。也许你的type不是字符串可能是个对象或者函数

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧