2014-12-08 3 views
0

У меня есть кнопка поиска, как показано ниже (selectedPartFilter это текстовое поле)избегать действий, когда текстовое поле пустым

<input type="BUTTON" class="submit" id="searchButton" value="<fmt:message key="search.button"/>" onClick="if (validateFilterCriteria()) JavaScript:submitAction('FILTER_DOCUMENTS');showBusy();" /> 

validateFilterCriteria метод, как показано ниже

function validateFilterCriteria() { 
    var partFilter = document.getElementById("selectedPartFilter").value; 

    if (partFilter != ''){ 
     document.getElementById("partFilter").value = partFilter; 
     return true; 
    } 
    if (partFilter == '') { 
     alert('Please enter part of the part number'); 
     return false; 

    } 

} 

Существует занят gif отображается с помощью метода showBusy().

Теперь, независимо от возврата validateFilterCriteria(), отображается оживленный gif. Я не хочу это будет отображаться, если нет значения, введенного в текстовое поле

+0

Можете ли вы показать нам код для showBusy()? –

+0

function showBusy() { \t document.getElementById ('mask'). ClassName = 'visibleDiv'; \t \t return false; \t} – Techie

+0

Это просто, чтобы показать gif, говорящий, что страница загружается – Techie

ответ

0

Использование этого:

onClick="if (validateFilterCriteria()) { JavaScript:submitAction('FILTER_DOCUMENTS');showBusy(); }" 

Вы должны обернуть свой код в фигурных скобках.

+0

Спасибо за ответ. – Techie

+0

Добро пожаловать. – Soosh

0

Начальное значение входного элемента не определен, вместо «»

Если сравнить

undefined == '' //false 

Чтобы сделать вашу работу функции, как ожидается, можно упростить и записать его в виде

function validateFilterCriteria() { 
    var partFilter = document.getElementById("selectedPartFilter").value; 

    //Here we check if the value is truthy instead of comparing it directly with an empty string 
    if (partFilter) { 
     document.getElementById("partFilter").value = partFilter; 
     return true; 
    } else { 
     alert('Please enter part of the part number'); 
     return false; 

    } 
} 
+0

Спасибо за ответ – Techie

Смежные вопросы