2016-11-14 7 views
2

Я хочу просмотреть все поля формы и определить, заполнены ли поля данными. Когда все поля будут предоставлены, я бы хотел, чтобы появилась кнопка save.jQuery: Каждая ошибка Loop

This is the Fiddle с кодом, который работает (!) ...

This is the same in JavaScript.

JQuery-Object перебирать:

formElements = $ 'form input[type="text"], form input[type="number"], form textarea' 

В Функция:

formFilled = -> 
    filled = true 
    formElements.each -> 
    if $(this).val().length is 0 
     filled = false 
    filled 

Event-Handler:

formElements.on 'keyup', (keyup) -> 
    keyup.preventDefault() 
    if formFilled() 
    save.show() 
    else 
    save.hide() 

Любые предложения?

+0

Какую ошибку вы получаете? –

+0

кнопка сохранения 'save' никогда не появляется (скрыта все время) ... – Timo

+0

Здесь нет ничего асинхронного. Вызывается ли ваш обработчик 'keyup' вообще? У 'formElements' действительно есть что-нибудь в нем? –

ответ

1

# Я знаю ответ:

JavaScriptпроверяет на количество входов полей и принимает только значения, которые являются числами.

Я тупо протестировал эти поля с текстом ввода ... глупо.

Код в порядке. Просто тестирование было плохим. Извините за то, что потратил ваше время.

Это работает:

formInputs = $ 'input[type="text"], input[type="number"], textarea' 

formFilled = -> 
    filled = true 
    formInputs.each -> 
    if $(this).val().length is 0 
     filled = false 
    filled 

formInputs.on 'keyup', (keyup) -> 
    if formFilled() 
    saveButton.show() 
    else 
    saveButton.hide() 

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

  • Нет связанных вопросов^_^