2016-03-02 60 views
-1

我試圖改變下劃線段落文本和輸入值的變化下劃線。我嘗試拆分整個段落,並用輸入值更改每個下劃線。但結果又是數組,我必須再次「構建」段落。有沒有其他的方法來改變下劃線的值?下面是代碼Example HERE的javascript:與輸入值

function myFunc() { 
    var name = document.getElementById("inputName").value; 
    var city = document.getElementById("inputCity").value; 
    var day = document.getElementById("inputDay").value; 
    var month = document.getElementById("inputMonth").value; 
    var year = document.getElementById("inputYear").value; 
    var changeSTR = document.getElementById("resultTXT").innerHTML.toString(); 
    var words = changeSTR.split(/[ ,.]+/); 

    words[3] = name; 
    words[11] = city; 
    words[16] = day; 
    words[17] = month; 
    words[19] = year; 

    var resultSTR = words.toString(); 
    alert(resultSTR); 
} 
+2

什麼'words.join( '')'? – Marie

+0

連接會給我一個完整的字符串,不會在主文本中放置任何空格點。我只想與輸入 –

+2

替換下劃線就放在''的標籤下劃線併爲每個那些跨越了自己的個人ID和改變這些文本。 – JoeL

回答

1
var resultSTR = words.join(' '); 

https://jsfiddle.net/aad6b0kn/1/

+0

我明白words.join(」「);但這是唯一的方法嗎?另外我想在某些地方添加點以使填充文本與下劃線相同。並且「替代」邏輯是否正確? –

0

相反分裂全段到一個數組中的溶液,只要給每個下劃線部一個<span>標籤與它的ID,所以你可以改變壽的內容相反。我建議爲此使用jQuery。下面是一個使用它的例子。還要注意,按鈕本身就是一個<input type="button">而不是標準<button>標籤。

$("document").ready(function() { 
 
    $("#change").click(function() { 
 
    $("#name1").text($("#namespace").val()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<p>My name is <span id="name1">___</span></p> 
 
<form> 
 
    <input type="text" id="namespace"></input> 
 
</form> 
 
<input type="button" id="change" value="Change Name"></input>