不是从UI

不是从UI

问题描述:

取值在1文本改变文本框的值,并希望在第2显示它..不是从UI

1st <input type="text" value=" " id = "marks1" name = "marks1" onblur = "myFunction('marks1')"  /> 
2nd <input type="text" value=" " id = "marks2" name = "marks1" disabled = "disabled" /> 

oblur我打电话的功能。 每当我改变从UI的价值,在函数调用我得到旧值,即' '而不是更改的值。
在变量“值”我得到的旧值,我无法显示它在第二个文本框。

function myFunction(txtname) { 
    alert("call"); 
    var txtobj = document.getElementsByName(txtname); 
    var value = txtobj[0].value; 
    alert("my value : "+value); 
    txtobj[1].value = value; 
} 

我知道代码没问题,但它不适用于我。有没有其他方法?

+0

为什么编辑它并删除函数调用?我修好了它。并做了所有的我,我。 – epascarello 2012-03-15 11:32:33

+0

我无法在Chrome中复制它(请参阅小提琴:http://jsfiddle.net/UBUbj/)。这是什么浏览器? – pete 2012-03-15 11:39:24

没有理由通过这个名字,你可以传递这个对象。

<input type="text" value=" " id="marks1" name="marks1" onblur="myFunction(this)" /> 

和功能

function myFunction(txtobj) { 
    alert("my value : " + txtobj.value); 
} 

Example

为了这个页面你可以找到工作的例子http://jsfiddle.net/Akj2M/

在你的代码是一件好事,因为通过名称或经过任何情况下,对象this是一样的。

<input type="text" value=" " id = "marks1" name = "marks1" onblur="myFunction('marks1')"/> 

<script> 
    var myFunction = function myFunction(txtname) { 
    alert("call"); 
    var txtobj = document.getElementsByName(txtname); 
    alert("my value : "+txtobj[0].value); 
} 
</script>​