不改变ui的文本框值

时间:2012-03-15 11:27:54

标签: javascript html

在第一个文本框中获取值并希望在第二个文本框中显示...

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更改值时,在函数调用中我得到旧值,即' '而不是更改值。
在变量&#34;值&#34;我得到的旧值,我无法在第二个文本框中显示它。

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

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

2 个答案:

答案 0 :(得分:0)

没有理由传递名称,你可以传递对象。

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

和功能

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

Example

答案 1 :(得分:0)

在此页面中,您可以找到一个有效的示例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>​