2013-04-11 64 views
2

我真的很新鮮的Web開發,我試圖用Javascript來改變一些輸入的文本。這裏是我的代碼必須做的一個例子Javascript改變所有輸入的文本

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to replace "R$" with "" in the field below:</p> 

<input id="demo" value="R$ 1223,43"></input> 
<input id="demo1" value="R$ 134523,67"></input> 
<input id="demo2" value="R$ 12453,41"></input> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() 
{ 
var x=document.getElementByTagName("input") 

for(var i = 0; i < x.length; i++) { 

    var str=x[i].innerHTML; 

    var n=str.replace(",","."); 
    var n1 = n.replace("R$ ",""); 

    document.getElementById("demo").innerHTML=n1; 
} 


} 
</script> 

</body> 
</html> 

所以,我想撤回「R $」並將「,」替換爲「。」。對於一些數學運算。我必須在我的代碼中完成所有輸入。

+3

.value的,沒有.innerHTML - 我強烈建議通過http://w3fools.com [MDN](https://developer.mozilla.org/) – mplungjan 2013-04-11 12:12:13

回答

0

這些是需要的以下步驟: - 至少在步驟1到3

  1. 移動的腳本它所屬
  2. 改變getElementByTagName到的getElementsByTagName頭部,多個
  3. 得到和變更X [i]於.value的
  4. 鏈替換

DEMO

<!DOCTYPE html> 
<html> 
<head> 
<title>Replace example</title> 
<script> 
function myFunction() { 
    var x=document.getElementsByTagName("input"); // plural 

    for(var i = 0; i < x.length; i++) { 
    var str=x[i].value; 
    x[i].value=str.replace(",",".").replace("R$ ",""); 
    } 
} 
</script> 
</head> 

<body> 

<p>Click the button to replace "R$" with "" in the field below:</p> 

<input id="demo" value="R$ 1223,43"></input> 
<input id="demo1" value="R$ 134523,67"></input> 
<input id="demo2" value="R$ 12453,41"></input> 

<button onclick="myFunction()">Try it</button> 


</body> 
</html> 
1

你幾乎沒有,更換了一些東西,使它看起來類似於這樣:

function myFunction() { 
    var x = document.getElementsByTagName("input"); // ; was missing and you used getElementByTagName instead of getElementsByTagName 

    for (var i = 0; i < x.length; i++) { 

     var str = x[i].value; // use .value 

     var n = str.replace(",", "."); 
     var n1 = n.replace("R$ ", ""); 

     //document.getElementById("demo").innerHTML=n1; // use x[i] again instead 
     x[i].value = n1; // and again use .value 
    } 
} 

DEMO - 運行更新的代碼


+0

像魅力一樣工作。非常感謝 – 2013-04-11 12:17:58

0

首先所有,使用.value而不是.innerHTML。 .innerHTML會在標籤的打開和關閉中對文本進行回覆。

其次,糾正拼寫的變種X = document.getElementByTagName( 「輸入」) 應該的getElementsByTagName

0

這個功能應該做你想要什麼:

function myFunction() 
{ 
    var eles=document.getElementsByTagName("input"); 

    for(var i = 0; i < eles.length; i++) 
    { 
     if(eles[i].type != 'text') continue; // inputs that aren't of type text dont make sense here 
     var str = eles[i].value; 
     str=str.replace(",","."); 
     str=str.replace("R$ ",""); 
     eles[i].value=str; 
    } 
} 
相關問題