2009-07-10 22 views
0

これは私に起こるかどうかはわかりません。私は新しい要素がYUIフォーム入力からフィールド値を取得動的に生成

var element = new YAHOO.util.Element(document.createElement('input')); 
element.set('value', 'some value'); 
element.appendTo(document.body); 

を使用してページに追加されている場合、私はフィールドの値を変更した場合は基本的にそれから私は、これらのさまざまな方法を使用して要素の値を読み、そして

element.get('value'); // get 'some value' 
element.get('element').getAttribute('value'); // get 'some value' 
element.get('element').value; // get 'some value' 
// jquery as reference 
jQuery(element.get('element').val()); // get 'some value' 

一貫性のある結果を得ますブラウザを介して(例えば、「新しい価値」)、再度上記の手順を繰り返し、私はいくつかの興味深い値

element.get('value'); // get 'some value' 
element.get('element').getAttribute('value'); // get 'some value' 
element.get('element').value; // get 'new value' 
// jquery as reference 
jQuery(element.get('element').val()); // get 'new value' 

を取得しかし、入力要素がすでにある場合は、ページ内に存在しています現在、ユーザーの入力を保持する - >「いくつかの価値」

var element2 = new YAHOO.util.Element('some_input'); 

まず上記のシナリオとして

element.get('value'); // get 'some value' 
element.get('element').getAttribute('value'); // get 'some value' 
element.get('element').value; // get 'some value' 
// jquery as reference 
jQuery(element.get('element').val()); // get 'some value' 

ユーザがブラウザを介して入力フィールドに「新しい価値」を入力した場合

、その後、繰り返しを同じ結果を得る読みます上記の手順は、私は、動的に生成された要素に対して異なる値になるだろうデータを取得する別の方法が使用されている場合は、なぜ私は疑問に思って

element.get('value'); // get 'new value' 
element.get('element').getAttribute('value'); // get 'new value' 
element.get('element').value; // get 'new value' 
// jquery as reference 
jQuery(element.get('element').val()); // get 'new value' 

を取得し、またはそれは私だという理由だけでそれは間違っている?

答えて

1

ポップアップが古い値がキャッシュの問題である可能性があります。

最新のYUIライブラリ(http://tivac.com/yui2/jeffrey04_element.htm)を使用してあなたのサンプルを作成しました(あなたはFirebugをオープンしたいと思うでしょう)。正しい

element.get('value'); 

呼び出しを使用して

は両方のケースで私のために適切な値を返しています。


なぜ

element.get('element').getAttribute('value') 

わからないけれども、時々nullを返しています。

誤った値を返すケースを絞り込むことができれば、簡単なテストケースとsubmit a bugを作成します。彼らはそのようなフィードバックを本当に感謝し、一般的に速やかに対応して問題を解決します。

+0

私はまだYUI2.6を使用していますので、最新のリリースで修正された問題があるかどうかは分かりません。 DOMのgetAttributeメソッドも呼び出すと、nullが返されます。テスト実行結果 element.get( 'value'):「ある値」 element.get( 'element')。getAttribute( 'value'):null element.get( 'element')。value: "some value" element2.get( 'value'): "新しい値" element2.get( 'element')。getAttribute( 'value'): "some value" element2.get( 'element')。value : "新しい価値" – Jeffrey04

関連する問題