У меня есть форма поиска db с несколькими полями. Два из них, 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) По какой-то причине моего второе поле не повторно -enable, как только первое поле пустое и размытое. Это заставляет меня думать, что событие onblur()
не работает.
2) Как только я напечатаю текст, я получаю предупреждение один раз, и все хорошо. Однако, когда я опустошаю поле и повторно вводим какой-либо текст, предупреждение не запускается во второй раз. Как сбросить событие oninput()
?
Вот моя скрипка: fiddle
Просто FYI, это не работает в скрипку, потому что вы должны изменить настройки на «No Wrap - в
» (теперь вы получите 'ReferenceError: вход не defined' потому что скрипт выполняется onload). – pawel