ToLowerCase if 语句不起作用?
2013-02-11
2005
好的,除了 toLowerCase 之外,我让所有这些都正常工作。它不起作用,所以如果区分大小写,它就不会拆分。我正在使用下拉框来选择我的分隔符。
js 代码已发布,以帮助你们指出问题。我仔细检查了它,但我认为它需要一双新的眼睛。
window.onload = function() {
document.getElementById("change").onclick = function () {
var paragraph = document.getElementById('box').value;
var x = document.getElementById("changeCase");
var getInfo = document.getElementById('ParaWrite');
var LowerCase = " ";
var LowerCase2 = " ";
var splitAT = " ";
var options = document.getElementById("split").value;
alert("above the for loop");
if (x.checked === true)
{
LowerCase = paragraph.toLowerCase();
}
else
{
LowerCase = paragraph;
}
for (var i = 0; i < document.form1.split.options.length; i++)
{
if (document.form1.split.options[i].selected === true)
{
splitAT = paragraph.split(options);
alert("splitAT[" + i + "]=" + splitAT[i]);
}
}
console.log(document.form1.split.options);
document.write(splitAT +" " +splitAT.length);
}
HTML 代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Paragraph</title>
<link rel="stylesheet" href="normalize.css">
<link rel="stylesheet" href="Textbox.css">
</head>
<body>
<h1>Please enter some Text</h1>
<form name="form1" id="form1">
<textarea type="text" id="box" value=""/></textarea>
<label for="write">Case Sensitive checkbox</label>
<input type='checkbox' name='write' id='changeCase' value='Check'/><br>
<input type='button' value="Count" id="change"/>
<select name="split" id="split">
<option value="like">like</option>
<option value="monkey">monkey</option>
<option value="I">I</option>
<option value=".">.</option>
<option value=",">,</option>
<option value="?">?</option>
<option value=" ">[Space]</option>
</select>
</form>
<div id="ParaWrite">
</div>
<script type="text/javascript" src="die.js"></script>
</body>
</html>
2个回答
我会尝试
If (x.checked)
避免 === true,以防它不是纯布尔值
或者检查值
FtLie
2013-02-11
一些评论:
> <!doctype html>
字符串 "doctype" 必须 为大写才能达到预期效果:
<!DOCTYPE html>
> <form name="form1" id="form1">
如果表单有 ID,则不需要名称。您可以使用
forms
集合访问表单(就像您在一个地方一样):
var theForm = document.forms.form1;
然后以表单的命名属性形式访问所有表单控件。
> <textarea type="text" id="box" value=""/></textarea>
Textarea 元素没有 type 或 value 属性,它们的值就是它们的内容。您不能对 必须 具有结束标记的元素使用 SHORTAG 语法,并且如果 DOCTYPE 为 HTML,则不要将它们用于没有内容的元素。此外,表单控件必须具有名称才能成功。如果它们有名称并且位于表单中,则它们不需要 ID:
<textarea type="text" name="box" value=""></textarea>
其中:
> <input type='checkbox' name='write' id='changeCase' value='Check'>
让表单控件的 name 和 id 属性具有不同的值并不是一个好主意。最好只使用一个名称(并且不要在 HTML 文档中使用 XML 语法):
<input type='checkbox' name='write' value='Check'>
另外:
> document.write(splitAT +" " +splitAT.length);
这将删除整个文档(包括所有头部和脚本内容)并将其替换为 document.write 的参数。你真的想这么做吗?
你的代码还有许多其他问题,也许你应该只说出你想要它做什么,然后你可能会得到更多的帮助。
编辑
工作代码:
<script>
window.onload = function() {
var form = document.forms.form1;
form.change.onclick = function () {
var paragraph = form.box.value;
var getInfo = document.getElementById('ParaWrite');
var splitAt = form.split.value;
if (form.write.checked) {
paragraph = paragraph.toLowerCase();
}
getInfo.innerHTML = paragraph.split(splitAt) + '<br>' +
paragraph.split(splitAt).length;
}
}
</script>
<form name="form1">
<textarea name="box"></textarea>
<label for="write">Make lower case</label>
<input type='checkbox' name='write' id="write" value='Check'><br>
<input type='button' value="Count" name="change">
<select name="split">
<option value="like">like</option>
<option value="monkey">monkey</option>
<option value="I">I</option>
<option value=".">.</option>
<option value=",">,</option>
<option value="?">?</option>
<option value=" ">[Space]</option>
</select>
</form>
<div id="ParaWrite"></div>
RobG
2013-02-11