2017-02-08 5 views
0

У меня есть два элемента ввода и вы хотите прослушать KeyUp событие на нем.Комбинированный входной поток

<form> 
    First name:<br> 
    <input type="text" name="username" id="username"><br> 
    Last name:<br> 
    <input type="text" name="password" id="password"><br><br> 
    <input type="submit" value="Submit" disabled> 
</form> 

То, что я хочу достичь, когда оба входа не пустые, тогда подача должна быть включена.

ответ

4
import 'dart:html'; 

void main() { 
    final ids = ['username', 'password']; 
    final inputs = ids.map((id) => document.getElementById(id) as InputElement); 
    inputs.forEach((input) { 
    input.onKeyUp.listen((e) { 
     final SubmitButtonInputElement submit = 
      document.querySelector('input[type=submit]'); 
     submit.disabled = inputs.any((input) => input.value.isEmpty); 
    }); 
    }); 
} 

Тест на DartPad: https://dartpad.dartlang.org/49e61d036983e37a0d02663674d04b83

+0

Прежде всего, благодаря много. Является '' '' после '(input)' функцией обратного вызова или является выражением лямбда? –

+1

'(input) {...}' - это лямбда, которая применяется ко всем «входам». –