2016-04-11 19 views
2

我不能讓它上的jsfiddle工作,所以我只是粘貼工作現場位置:http://fariskassim.com/stage/simplified/文本替換字符串鍵入用戶

所以我有一個句子裝載隨機股利#randomname內,上頁面刷新或當用戶點擊按鈕「生成」時。

在數組中的每個句子中,都有'AGENCY NAME'和'BRAND NAME'這幾個字,我希望替換爲用戶在可用輸入字段中鍵入的文本。

目前我所能夠做到的就是這個

function replaceName1() { 
var str = document.getElementById("randomname").innerHTML; 
var res = str.replace("AGENCY NAME", "REPLACED AGENCY"); 
document.getElementById("randomname").innerHTML = res; 
} 

,以取代「機構名稱」和「品牌名稱」,但我希望能夠通過輸入到表格更動態地更換/輸入文本框。

+1

你是否想在香草JS上使用jQuery做到這一點? – mmichael

+0

我對此並不是很熟悉。嗯,它可能只是JavaScript或可能沒有額外的框架jQuery的? – wsgg

回答

1

如果沒有一個全球性的 「全部替換」 功能,你可以這樣來做:

function replaceName1() { 
    var agencyName = document.getElementsByName("agency_name")[0].value; 
    var brandName = document.getElementsByName("brand_name")[0].value; 
    var str = document.getElementById("randomname").innerHTML; 
    var res = str.replace("AGENCY NAME", agencyName).replace("BRAND NAME", brandName); 
    document.getElementById("randomname").innerHTML = res; 
} 

請務必將 「AGENCY_NAME」 和 「BRAND_NAME」 與輸入的實際名稱。

+0

是的,這給了我想要的結果。謝謝! – wsgg

0

也許這可以幫助:

<input onkeydown="replaceName1()"> 

function replaceName1() { 
    var str = document.getElementById("randomname").innerHTML; 
    var res = str.replace("AGENCY NAME", "REPLACED AGENCY"); 
    document.getElementById("randomname").innerHTML = res; 
} 
+0

我應該期待#randomname中的文本立即改變,當我開始輸入? 我沒有得到這個。但無論如何,來自mmichael的答案爲我完成了這項工作。謝謝! – wsgg