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'
我只是想知道为什么我会得到动态生成的元素不同的值,如果使用检索数据的方式不同,或者它仅仅是因为我做的它错了吗?
谢谢,我仍然使用YUI2.6所以不确定是否在最新版本中修复了一些问题。我在调用DOM的getAttribute方法时也得到了null。我的测试运行结果 element.get( '值'): “一些价值” element.get( '元素')的getAttribute( '值'):空 element.get( '元素')值: “value value” element2.get('value'):“new value” element2.get('element')。getAttribute('value'):“some value” element2.get('element')。value :“新价值” – Jeffrey04 2009-07-14 07:53:18