我是javascript的新手,我在onchange()中遇到了麻烦;
以下是代码;
<input type="text" name="txt" id="aa" onchange="test()">
<input type="text" name="txt" id="bb" onchange="test()">
function test(a, b, c) {
var i = 0;
if (a.value == '') {
document.getElementById("aa").innerHTML = "a Cannot Be Blank ";
return i;
} else if (b.value == '') {
document.getElementById("bb").innerHTML = "b Cannot Be Blank ";
return i;
} else {
i = 1;
return i;
}
}
我不知道如何调用上面的函数以便我可以完成文本框验证。我试过onchange =&#34; test(this)&#34; ,但我不行。请给我一个解决方案。
答案 0 :(得分:0)
1-首先在js中编写函数时,必须注意开括号和右括号的数量(范围)
function test(a,b,c)
{
var i =0;
if (a.value =='')
{
document.getElementById("aa").innerHTML="a Cannot Be Blank ";
return i;
}
else if (b.value =='')
{
document.getElementById("bb").innerHTML="b Cannot Be Blank ";
return i;
}
else {
i=1;
return i;
}
}
2 - 在onchange函数中传递multilple参数..你可以这样做
<input type="text" name="txt" id="aa" onchange="test(2,2,5)">
答案 1 :(得分:0)
当某些内容发生变化时,您想要检查输入字段的空值。尝试检查用作参数的每个输入ID。
<input type="text" name="txt" id="aa" onchange="test(this.id,'bb')">//this.id returns current element id
<input type="text" name="txt" id="bb" onchange="test('aa',this.id)">//use id as parameters
<script>
function test(a,b)
{
var i =0;
var aa = document.getElementById(a);//call element by parameter id
var bb = document.getElementById(b);
if (aa.value =='')
{
aa.value="a Cannot Be Blank ";
}
else if (bb.value =='')
{
bb.value="b Cannot Be Blank ";
}
else {
i=1;
return i;
}
}
</script>
答案 2 :(得分:0)
1)当你想操纵&#34;值&#34;在<input>
元素中,您不使用 innerHTML 。您可以通过访问其值属性来操纵它:
document.getElementById("MY_INPUT_ID").value = 'Cannot Be Blank';
2)当您想要对多个文件进行验证时,您可以在表单提交上进行验证,而不是在&#34;实时&#34;中进行验证。如果你想制作&#34;实时&#34;验证然后每次只关注一个字段更好。(如果其他限制不适用)。
3) onChange 事件适用于<select>
元素,不会触发<input>
元素。如果你想&#34;监控&#34;你应该使用的<input>
元素
4)你不应该插入&#34;不能空白&#34;在输入字段中,因为它将被视为文本,您将遇到问题。如果要显示消息,则需要在输入旁边创建一个包含消息的容器。
以下代码更像是一个示例,可帮助您找到正确的方向。
<input type='text' name='aInput' id='aInput' onkeyup='validate(this);'></input>
<input type='text' name='bInput' id='bInput' onkeyup='validate(this);'></input>
<div id='error'></div>
<script language="JavaScript">
function validate(el){
var myInputValue = el.value;
var myInputID = el.id;
if(myInputValue === ''){
document.getElementById(myInputID).style.backgroundColor = 'rgba(255,0,0,0.32)';
document.getElementById('error').innerHTML = el.name + " Cannot Be Blank";
}else{
document.getElementById(myInputID).style.backgroundColor = '#fff';
document.getElementById('error').innerHTML = "";
}
}
</script>