0

わかりましたので、これをすべて 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>
4

2 に答える 2

1

やってみます

If (x.checked) 

純粋なブール値でない場合は、===trueを回避します

または値を確認してください

于 2013-02-11T04:19:20.703 に答える
0

いくつかのコメント:

> <!doctype html>

文字列「doctype」 は、目的の効果を得るために大文字でなければなりません:

<!DOCTYPE html>

> <form name="form1" id="form1">

フォームに ID がある場合、名前は必要ありません。コレクションを使用してフォームにアクセスできますforms(1 か所にあるように)。

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>
于 2013-02-11T05:14:13.013 に答える