3

TVJS を使用して TVML の textField から値を取得する方法を見つけようとしていますが、まだドキュメントが見つからず、ドキュメントが更新されるのを待ちたくありません。入力にバインドするためのパターンは実際にはありません。これは、サービスへのログイン以外ではめったに使用されないためです。私は Xml を解析できると思いますが、それは非常にハッキーなようです。

4

2 に答える 2

5

私は自分でそれを理解することになりました。select イベント オブジェクトからコールバックを使用し、テキスト要素を関数に渡してイベントを処理する必要がありました。

function template() {
    var template = "<document><formTemplate><textField id="email">Your email</textField><footer><button><text>Submit</text></button></footer></formTemplate></document>";
    var parser = new DOMParser();
    var doc = parser.parseFromString(template , "application/xml");
    var email = doc.getElementById("email");
    doc.addEventListener("select", function() { submit(email); });
}

function submit(textField) {
    var keyboard textField.getFeature('Keyboard');
    var email = keyboard.text;
}

ノードを取得したら、Apple TVJS 関数 getFeature('Keyboard') を使用して、このオブジェクトからテキスト値を取得しました。

于 2015-09-20T23:47:01.623 に答える
0

この解決策は何らかの理由でうまくいきませんが、別の解決策を見つけました:

 var sender = event.target;
 var formTemplate = sender.parentNode.parentNode;
 var children = formTemplate.childNodes;
 var textField = children.item(1); // replace "1" with the index of "textField" element in your template                                                                                        
 var inputValue = textField.getFeature("Keyboard").text;
于 2019-05-19T06:32:36.220 に答える