HTML转换器中的javascript问题

时间:2012-07-03 08:22:09

标签: javascript parsing text string-parsing

我目前正在向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 ;

由于某些原因,这不起作用按钮什么都不做,我无法弄清楚这一点。

我希望我清楚地解释了我的情况。该转换器仅用于非常具体的用途,因此不需要考虑重复使用。

2 个答案:

答案 0 :(得分:1)

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

定义的

同样,似乎因为bodyArray是一个数组,你需要在它上面调用join()然后将它放入一个字符串中?

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

答案 1 :(得分:1)

您是否打开了javascript控制台以查找错误?

我不相信你已经初步化了:

i = 0;

在循环中使用它之前,可能会抱怨它。