日期:2014-05-16  浏览次数:20455 次

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) 



------解决方案--------------------
引用: