1

我目前正在编写一个文本到 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 ;

由于某种原因,这不起作用,按钮什么也不做,我无法弄清楚。

我希望我清楚地解释了我的情况。该转换器仅用于非常特定的用途,因此可重用性不是问题。

4

2 回答 2

1

您是否在控制台中收到任何 javascript 错误?我没有在您的代码中看到从该行定义“str”的位置var bodyArray = str.split("\n");

似乎由于 bodyArray 是一个数组,您需要在将其放入字符串之前对其调用 join() ?

此外,i永远不会为您的 while 循环声明。

于 2012-07-03T08:29:45.007 回答
1

你有没有打开你的 javascript 控制台来查找任何错误?

我不相信你已经初始化:

i = 0;

在循环中使用它之前,所以它可能会抱怨这一点。

于 2012-07-03T08:30:59.887 回答