Функции Javascript - PullRequest
       15

Функции Javascript

0 голосов
/ 14 февраля 2011

У меня есть 3 функции javascript:

validateClk(), validateAmPm() и getClks()

И при двух происходящих событиях они выполняются следующим образом:

OnChange - выполняет validateClk() и validateAmPm()

OnClick - выполняет getClks() (getClks() возвращает логическое значение)

Все 3 функции работают правильно, но проблемапосле того, как getClks() завершил выполнение и вернул логическое значение, следующая функция postClocks() не запускается.Я очень уверен, что код для postClocks() также правильный.Если я не использую оператор return для getClks(), то функция getClks() не будет работать должным образом.

Пожалуйста, помогите: (

<script type='text/javascript'>
    function validateClk() {
        ....
        var clks = clocks.value;
        if (clks == "") {
            alert('Enter time');
        }
        else { ... }
    }
</script>

<script type='...'>
    function validateAMPM() {
        ...
        var ampm= ap.value;
        if  (ampm=="") {
            alert('Enter am or pm');
        }
    }
</script>

<script type='text/...'>
    function getClks() {
        var clks= clock.value;
        var ampm= ap.value;
        if (clks==" && ampm="") {
            alert('Enter time and am/pm');
            return false;
        }
        else { ... }
        return true;
    }
</script>

<... onChange="validateClk(); validateAmPm();" />

<... button label="Submit" onClick="return getClks(); postClocks(); return false;" />

Ответы [ 3 ]

4 голосов
/ 14 февраля 2011

Это потому, что вы явно закодировали return там.

return getClks();
postClocks();
return false;

Этот код всегда будет просто выходить после первого return оператора. Я предлагаю удалить его.

2 голосов
/ 14 февраля 2011

все ваши пользовательские функции возвращают boolean, затем изменяют событие onclick на следующее:

onClick="if(!getClks() || !postClocks()) return false;"

при условии, что вы не хотите продолжать, если недействительно

0 голосов
/ 14 февраля 2011

Вы написали

onClick="return getClks(); postClocks(); return false;"

Вы должны удалить первый «возврат».

...