我目前正在向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 ;
由于某些原因,这不起作用按钮什么都不做,我无法弄清楚这一点。
我希望我清楚地解释了我的情况。该转换器仅用于非常具体的用途,因此不需要考虑重复使用。
答案 0 :(得分:1)
您是否在控制台中收到任何javascript错误?我在代码中没有看到“{”是从行var bodyArray = str.split("\n");
同样,似乎因为bodyArray是一个数组,你需要在它上面调用join()然后将它放入一个字符串中?
此外,永远不会为您的while循环声明i
。
答案 1 :(得分:1)
您是否打开了javascript控制台以查找错误?
我不相信你已经初步化了:
i = 0;
在循环中使用它之前,可能会抱怨它。