2017-02-08 56 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)'之後是'{''回調函數還是lambda表達式? –

+1

'(input){...}'是應用於所有'inputs'的lambda。 –