两个问题:
一、怎么把题中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>
一、怎么把题中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>
文本框2输入的字符串 等于ccc或等于ddd时显示OK,不等于ccc或者不等于ddd是显示NO。
onchange="javascript:if (this.value !== 'aaa'&& 'bbb'){
alert('NO');
}
2. onchange="javascript:if (this.value == 'ccc'||'ddd'){
alert('OK');
}
等价于 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标签里
var e = e || window.event;
var target = e.target;
if(target.type == 'input') {
switch(target.className) {
case 'input_0':
if (target.value !== 'aaa' && 'bbb') { alert("Y"); }
else { alert("N"); }
break;
case 'input_1':
if (target.value !== 'aaa' && 'bbb') { alert("Y"); }
else { alert("N"); }
break;
case 'input_2':
if (target.value !== 'aaa' && 'bbb') { alert("Y"); }
else { alert("N"); }
break;
case 'input_3':
if (target.value !== 'aaa' && 'bbb') { alert("Y"); }
else { alert("N"); }
break;
}
}
}