0

METAWIDGET を使用していくつかのフォームを生成しました。ここで軽量の JSON を渡します。UI 要素の値を ID と共に抽出し、それを文字列にバインドして URL パラメーターとして渡したいと考えています。

フォームから UI 要素と値を抽出する Javascript を記述できるようになりましたが、40 を超えるオプションを持つフォームがあり、同じ数の要素が他のフォームに存在する場合、ui 要素から値を個別に抽出することが難しくなります。 . UI 要素の値と ID を自動的に抽出する Javascript のような API を誰かが見つけたら、それを共有できれば素晴らしいと思います。

ありがとう!

4

1 に答える 1

0

Metawidget はすでにそのような機能を提供しています。以下を使用できます。

var processor = mw.metawidget( "getWidgetProcessor", function( widgetProcessor ) {
    return widgetProcessor instanceof metawidget.widgetprocessor.SimpleBindingProcessor;
} );
processor.save( mw.data( 'metawidget' ) );

SimpleBindingProcessor (デフォルトで構成されている) を取得し、その保存メソッドを呼び出します。これにより、すべての UI 要素のコンテンツが に保存されますmw.toInspectここに例があります。Metawidget のいくつかのフレーバー (Angular Metawidget など) はこれを自動的に行うことに注意してください。

要素の ID を取得することに特に関心がある場合は、そのメソッドを拡張SimpleBindingProcessorしてオーバーライドできます。saveFromWidget

var bindingProcessor = new metawidget.widgetprocessor.SimpleBindingProcessor();
var superSaveFromWidget = bindingProcessor.saveFromWidget;
bindingProcessor.saveFromWidget = function( binding ) {

    // access binding.widget.getAttribute( 'id' ) and save it somewhere
    ...
    return superSaveFromWidget.call( this, binding );
}

これは、以前のように呼び出すとトリガーされますprocessor.save

于 2014-05-23T21:38:16.697 に答える