我正在尝试为程序编写代码,允许用户在文本框中输入单词或已发送文件,然后按下按钮。
当用户按下按钮时,结果应该出现
实际上我在最后一部分遇到了一个问题,即将句子拆分并将每个问题分开。
我所知道的是,我可以通过编写代码将它们放在单独的行中:
var myString = "zero one two three four";
var mySplitResult = myString.split(" ");
for(i = 0; i < mySplitResult.length; i++){
document.write("<br /> Element " + i + " = " + mySplitResult[i]);
}
但是当我这样做时,它没有用
我的代码
function t {
var r=input.split(".");
for (var i = 0; i < r.length; i++){
r.innerHTML ="<br/> " + r[i];}
}
答案 0 :(得分:0)
你在for循环的每次迭代中覆盖你的result.innerHTML
尝试创建一个var str来保存你的计算字符串并在for循环中迭代它。
str + =“输入字符串的Lenrth:”+ input.length +“
数量 空格:“+ num +”
“ +“用'blue'替换'red'这个词:”+ input.replace(“red”,“blue”)+“
在'。'处Sp:
” + “
”+ n [i];
然后在for循环之外
result.innerHTML = str
答案 1 :(得分:0)
for (var i = 0; i < n.length; i++) { result.innerHTML = "Lenrth of input string: "+ input.length + "<p>Number of spaces: "+num +"</p>" + "<p> Replacing the word 'red' with 'blue': "+ input.replace("red" , "blue")+"</p>" + "<p>Spilting at'.':</p><br/> " + n[i]; }
这样,你将分配给result.innerHTML
并覆盖它每个循环转动 - 所以你会注意到的输出只是最后一个循环转弯的输出。相反,你应该逐个部分地构建一个html字符串(包括重复),然后分配整个事物。
var html = "<p>Length of input string: " + input.length + "</p>";
html += "<p>Number of spaces: " + num + "</p>";
html += "<p> Replacing the word 'red' with 'blue': " + input.replace("red" , "blue") + "</p>";
html += "<p>Spilting at '.':<ul>";
for (var i = 0; i < n.length; i++) {
html += "<li>" + n[i] + "</li>";
}
html += "</ul></p>";
result.innerHTML = html;
答案 2 :(得分:0)
您的for循环正在替换每次迭代的内容。您需要使for循环仅将n的元素附加到result元素的innerHTML。
function F1()
{
var str =document.getElementById("text");
var input = str.value;
var result = document.getElementById( "result" );
var num = input.split(" ").length - 1;
var n=input.split(".");
result.innerHTML = "Lenrth of input string: "+ input.length +"<p>Number of spaces: "+num +"</p>"
+"<p> Replacing the word 'red' with 'blue': "+ input.replace("red" , "blue")+"</p><p>Spilting at'.':</p>";
for (var i = 0; i < n.length; i++){
result.innerHTML += "<br/> " + n[i];
}
}
这是关于jsFiddle的一个工作示例:http://jsfiddle.net/nQ39D/