【发布时间】:2015-09-16 16:38:53
【问题描述】:
假设 textarea 是这样的:
<textarea name="p[body]" id="p_body">
--Lorem ipsum-- dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et --Dolore-- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. --Duis aute-- irure dolor in reprehenderit in voluptate velit esse cillum --Dolore-- eu fugiat nulla pariatur.
</textarea>
我想替换用“--”包围的单词。我提取单词:
var text = document.getElementById('p_body').value;
var res = text.match(/--\w+\s*\w*--/g);
//remove duplicates
uniqueArray = res.filter(function(item, pos, self) {
return self.indexOf(item) == pos;
});
//remove "--" parts
finalArray = uniqueArray.map(function(item) {
return item.replace(/--/g,"");
});
获取finalArray = ["Lorem ipsum", "Dolore", "Duis aute"];
我的问题是:如何根据finalArray 生成一个表单,用它来替换textarea中“--”包围的单词。 (finalArray 并不总是有相同数量的元素)。
生成的表单可能如下所示:
<form>
Lorem ipsum:<br>
<input type="text" name="Lorem ipsum" value="">
<br>
Dolore:<br>
<input type="text" name="Dolore" value="">
<br>
Duis aute:<br>
<input type="text" name="Duis aute" value="">
<br><br>
<input type="submit" value="Replace">
</form>
【问题讨论】:
-
嗯,这里涉及到很多部分。我假设您想要遍历
finalArray并为每个元素创建一个输入元素,然后将一些 JS 事件链接到这些元素以换出这些单词。 -
制作表格是什么意思?你能给我们一个你想要的最终结果的例子吗?
标签: javascript html forms replace