2012-03-15 100 views
0

取值在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

回答

0

沒有理由通過這個名字,你可以傳遞這個對象。

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

和功能

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

Example

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>​