我有一个数据库搜索表单与多个字段。其中两个,job_id
和job_desc
,我希望在使用另一个时禁用,反之亦然。我写了一个小的Javascript
函数来做到这一点。如何在首次使用后重置oninput()html事件?
这里是我的表单代码:
<input type="text" id="job_id" oninput="input('job_id','job_desc')" onblur="blur('job_id','job_desc')">
<textarea id="job_desc" oninput="input('job_desc','job_id')" onblur="blur('job_desc','job_id')"></textarea>
这里是我的Javascript
代码:
function input(a,b)
{
var a = document.getElementById(a);
var b = document.getElementById(b);
alert("This will disable "+b); // Let the user know we are disabling the other field
b.value = ""; // Empty the other field
b.disabled = true; // Disable the other field
}
function blur(a,b)
{
var a = document.getElementById(a);
var b = document.getElementById(b);
if(a.value = "") // If the field is empty...
{
b.disabled = false; // Enable the other field.
}
}
我有这些问题:
1)出于某种原因,我的第二个字段不重一旦第一场空洞并且模糊不清,即可启用。这导致我相信onblur()
事件不起作用。
2)一旦我输入了一些文字,我就会收到警报一次,这很好。但是,当我清空字段并重新输入一些文本时,警报不会再次触发。如何重置oninput()
事件?
这里是我的小提琴:fiddle
仅供参考,并不在拨弄工作,因为你应该更改设置为“无包装 - 在
”(现在你'的ReferenceError:输入没有defined'因为脚本是在onload上执行的)。 – pawel 2014-10-31 10:19:53