我目前正在编写一个文本到 HTML 的转换器,它应该:
从文本框 1 获取输入。
按段落将该输入拆分为数组的元素。 (我用任何有文本并以 /n
结尾的段落来定义段落)
遍历数组并添加<p style=\"font-size: 13px; text-indent: 15px;\">
在每个元素的前面和 </p>
到最后。
从文本框2获取输入(应该是单行的)
添加<p style=\"font-size: 11px; color: #666666; text-align: left; margin-top: 30px;\">A Power News :>
在前面和</p>
到最后。
将两者输出到文本框中。
我写的代码如下:
HTML:
<form name="input" method="get">
Input the text here:<textarea cols="40" rows="5" name="bodyText" id = "bodyText" > </textarea><br />
Input Author Name:<input type="text" name="authorName" id = "authorName" />
<button type="button"value="Convert" onclick="convertBlog()">Click to convert to html template</button>
</form>
<textarea cols="110" rows="40" name="output" id= "output"> </textarea>
JavaScript:
//STATIC VARIABLES USED FOR THE START AND END OF THE HTML LINES
var blogParagraphStart = "<p style=\"font-size: 13px; text-indent: 15px;\">";
var authorParagraphStart = "<p style=\"font-size: 11px; color: #666666; text-align: left; margin-top: 30px;\">A Power News 記者: "
var paragraphEnd = "</p>"
//GET THE INPUT FROM THE USER AND ASSIGN THEM TO VARIABLES
var bodyTxt = document.forms["input"]["bodyText"].value;
var authorName = document.forms["input"]["authorName"].value;
var bodyArray=str.split("\n");
var end = bodyArray.length+1;
while (i<end){
bodyArray[i] = blogParagraphStart + bodyArray[i] + paragraphEnd;
i++;
}
var reporterOutputString = authorParagraphStart + authorName +paragraphEnd ;
var outputString = bodyArray+ reporterOutputString;
document.getElementById("output").innerHTML= outputString ;
出于某种原因,这不起作用,按钮什么都不做,我一直没能弄明白。
我希望我清楚地解释了我的情况。此转换器仅用于非常特定的用途,因此可重用性不是问题。
最佳答案
您是否在控制台中收到任何 javascript 错误?我没有在您的代码中看到“str”是从 var bodyArray = str.split("\n");
此外,由于 bodyArray 是一个数组,因此您需要在将其放入字符串之前对其调用 join()?
此外,永远不会为您的 while 循环声明 i
。
关于javascript - JavaScript 问题中的 HTML 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307056/