首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

if else && || ! 搅在一起,思维混乱了,该如何处理

2013-08-10 
if else && || ! 搅在一起,思维混乱了两个问题:一、怎么把题中onchange事件写个函数pd(),可以在多个这样的

if else && || ! 搅在一起,思维混乱了
两个问题:
一、怎么把题中onchange事件写个函数pd(),可以在多个这样的文本框写上onchange=pd()就能与它所对应的指定值进行对比判断?
二、1和2的判断程序错在哪里了?
例子和代码:
目的:判断文本框中随机输入的字符串是不是我指定的
aaa,bbb是我想指定给文本框1的字符串,ccc,ddd是我想指定给文本框2的字符串。
文本框1输入的字符串 不等于aaa或者不等于bbb是显示NO,等于aaa或等于bbb时显示OK。
文本框2输入的字符串 等于aaa或等于bbb时显示OK,不等于ccc或者不等于ddd是显示NO。
<p>1.用!==判断 <input type="text" id="textid1" name="题目1" value="" size="8"
onchange="javascript:if (value !== 'aaa'&& 'bbb'){
    alert('NO'); 
}
    else
      alert('OK');
">(文本框1):输入bbb时怎么会显示NO?</p>
 
<p>2.用 ==判断 <input type="text" id="textid2" name="题目2" value=""  size="8"
onchange="javascript:if (value == 'ccc'||'ddd'){
      alert('OK');
      }
    else
      alert('NO'); 
">(文本框2):好像随便输入什么都是OK</p>
[解决办法]
1.用!==判断 <input type="text" id="textid1" name="题目1" value="" size="8"
onchange="javascript:if (this.value !== 'aaa'&& 'bbb'){
    alert('NO'); 
}


2.        onchange="javascript:if (this.value == 'ccc'
[解决办法]
'ddd'){
      alert('OK');
      }
[解决办法]
if (value !== 'aaa'&& 'bbb')
等价于 if (value !== 'aaa') 且 if('bbb')
后面永远为真
所以缩写为 if (value !== 'aaa')

if (value == 'ccc'
[解决办法]
'ddd')
等价于 if (value == 'ccc') 或 if('ddd')
同样后面永远为真
由于条件是或
所有缩写为 if(true) 



[解决办法]

引用:

我逻辑运算很差很差
if (value !== 'aaa'&& 'bbb')写成if (value !== (...))形式,也用不好;
写成这样我就理解了,呵呵:if (value !== 'aaa'&& value !== 'bbb')

嗯,多个文本框时this也是不可缺的?


<body>
    <input type="text" onchange="func1(this.value)" /><br />
    <input type="text" onchange="func2(this.value)" /><br />
    <input type="text" onchange="func3(this.value)" /><br />
    <input type="text" onchange="func4(this.value)" />
    <script>
        var func1 = function (value) {
            if (value !== 'aaa' && 'bbb') { alert("Y"); }
            else { alert("N"); }
            //以上代码等于 if (value !== 'aaa'){ alert("Y"); }else { alert("N"); }
        }
        var func2 = function (value) {
            if (value === 'ccc' 
[解决办法]
 'ddd') { alert("Y"); }
            else { alert("N"); }
            //以上代码等于 alert("Y");
        }
        var func3 = function (value) {
            if ((value !== 'aaa') && value !== 'bbb') { alert("Y"); }
            else { alert("N"); }
        }
        var func4 = function (value) {
            if ((value === 'ccc') 
[解决办法]
 value === 'ddd') { alert("Y"); }
            else { alert("N"); }


        }
    </script>
</body>


代码最好不要写在html标签里

热点排行