行カウンター関数increment()と関数parse()で2つのテキスト領域をクリアします

user10993028

正しく機能しないJavaScript関数clear()の1つの問題を除いて、私のコードは正常に機能しています。どうすればそれを機能させることができるのかわかりません。ユーザーがテキストボックス入力ボックスから関数clear()を呼び出すと、4つのテキストエリアと1つのdivがクリアされ、行カウンターがリセットされます。行カウンターを持つ2つのテキストエリア(counter1とcounter2)は、increment()、parse()、clear()の3つの関数が関係しているため、この問題を引き起こしているのは1回だけです。

関数がアタッチされていないテキストボックスをクリアするのはかなり簡単です

document.getElementById( 'inputbox')。value = "";

しかし、他の2つの関数increment()とparse()が関係している私の場合、それは複雑になります。

以下のJavaScriptコードJavaSとHTML

// first row cursor position in textarea inputbox on page load
function setfocus() {
  var input = document.getElementById('inputbox');
  input.focus();
}

// counts the number of times the user push enter
function increment(a) {
    increment.n = increment.n || 0;
    return ++increment.n; 
}

function parse(e) {
  var key = window.event.keyCode;
  if (key == 13) { //keycode for enter 

    var input = document.getElementById('inputbox');
    var output = eval(input.value);

    var cc = increment();
    document.getElementById("count1").value += '\n' + eval(cc + 1);
    document.getElementById("count2").value += cc + '\n';

    var out = document.getElementById("outputbox").value
    if (out == "" || out.length == 0 || out == null) {
      document.getElementById("outputbox").value += output;
    } else {
      document.getElementById("outputbox").value += '\n' + output;
    }
  }
}

// clears the input and output boxes
function clear() {
  event.preventDefault();
  document.getElementById('count1').value = "1";
  document.getElementById('count2').value = "";
  document.getElementById('inputbox').value = "";
  document.getElementById('mydiv').innerHTML = "";
  document.getElementById('outputbox').value = "";
};

// an array with random numbers between -1 and 1
function rand(n) {
  x = [];
  for (var i = 0; i < n; i++) {
    x[i] = Math.random() * 2 - 1;
  }
  console.log("x = " + x);
  return x;
}
<!DOCTYPE html>
<html>

<head>
  <script type="text/javascript" src="JavaS.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
  <meta charset="utf-8" />
  <style>
    .bb {
      border: 1px solid black;
    }

    #count1 {
      background-color: lightblue;
      width: 20px;
      height: 350px;
      border: none;
      font-size: 15px;
      resize: none;
      overflow: auto;
    }

    #inputbox {
      background-color: lightblue;
      width: 500px;
      height: 350px;
      border: none;
      font-size: 15px;
      resize: none;
      overflow: auto;
    }

    #count2 {
      background-color: pink;
      width: 20px;
      height: 350px;
      border: none;
      font-size: 15px;
      resize: none;
      overflow: auto;
    }

    #outputbox {
      background-color: pink;
      width: 500px;
      height: 350px;
      border: none;
      font-size: 15px;
      resize: none;
      overflow: auto;
    }

    #mydiv {
      background-color: lightgrey;
      width: 1066px;
      height: 380px;
    }
  </style>
</head>

<body>
  <table class="bb" style="background-color: lightblue; display: inline-block;">
    <tr>
      <th colspan="2">User defined JavaScript function input</th>
    </tr>
    <tr>
      <td><textarea id="count1" disabled>1 </textarea> </td>
      <td><textarea id="inputbox" onkeypress="parse(event, this)"></textarea></td>
    </tr>
  </table>
  <table class="bb" style="background-color: pink; display: inline-block;">
    <tr>
      <th colspan="2">Command output</th>
    </tr>
    <tr>
      <td><textarea id="count2" disabled></textarea> </td>
      <td><textarea id="outputbox"></textarea></td>
    </tr>
  </table>
  <table class="bb" style="background-color: lightgrey;">
    <tr>
      <th colspan="4">Plot or help output </th>
    </tr>
    <tr>
      <td colspan="4">
        <div id="mydiv"> </div>
    </tr>
  </table>

  <script> setfocus(); </script>

</body>

</html>

user10993028

わかりました、私は自分で問題を解決しました。

function parse(e) {
  var key = window.event.keyCode;
  if (key == 13) { //keycode for enter 

    var input = document.getElementById('inputbox');
    var output = eval(input.value);

    var cc = increment();
    console.log("cc = " + cc);
    var out = document.getElementById("outputbox").value ;
    
    if (out == "" || out.length == 0 || out == null) {
      document.getElementById("count1").value += eval(cc + 1) + '\n';
      document.getElementById("count2").value = eval(cc);
      document.getElementById("outputbox").value += output;
    } else {
      document.getElementById("count1").value += eval(cc + 1) + '\n';
      document.getElementById("count2").value += '\n' + eval(cc);
      document.getElementById("outputbox").value += '\n' + output;
    }
  }
  if (cc == 0) { document.getElementById("count2").value = "" };
}

// clears the input and output boxes
function clear() {
  event.preventDefault();
  increment.n = -1;
  document.getElementById('count1').value = "";
  document.getElementById('count2').value = "";
  document.getElementById('inputbox').value = "";
  document.getElementById('outputbox').value = "";
  document.getElementById('mydiv').innerHTML = "";
  return "";
};

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaScript関数を再度実行した後、テキスト領域をクリアするのに助けが必要

分類Dev

データベース内の2つのテーブルから関数をカウントします

分類Dev

2つの関数Pygameを呼び出して、テキストをリアルタイムで更新します

分類Dev

テキスト領域+列数cssにより、フォーカスのアウトラインが次の列にブリードします

分類Dev

ノックアウトデータ-関数にテキストをバインドすると、関数の文字列バージョンが返されます

分類Dev

React | 親が「アンチパターン」でなくてもクリックしたときに、子のテキスト領域に焦点を合わせます

分類Dev

2つの異なるdivをカウンタークリックし、prepend()関数を非表示にします

分類Dev

CSSとHTML:マウストラッキングでテーブルの領域をマークします

分類Dev

Golangでコンテキストタイムアウトを使用して実行中の関数を停止する

分類Dev

数の追加とカウントに関してスキームで任意のリストを管理する方法

分類Dev

剣道アップロードコントロールの更新ボタンクリックでカスタムJavaScript関数を実行します

分類Dev

Ruby onRailsのステータスとの関連付けの数をカウントします

分類Dev

Javascriptは、複数のボタンと同じクラスのボタンクリックで2つの関数を実行します

分類Dev

マスター関数内で2つの関数を実行します

分類Dev

カウンターのキャラクターとして複数行のアスキーアートをどのように使用しますか?(バッチ)

分類Dev

setTimeoutへのJavascript関数とページ上のボタンがクリックされたときにタイムアウトをキャンセルして残りの関数を続行しますか?

分類Dev

SSAS表形式モデルのテキストフィールドで関数DAXをカウントします

分類Dev

Lambda関数で別の関数をリクエストしてタイムアウトするとタイムアウトエラーが発生する

分類Dev

同じページの複数のテキスト領域の文字カウンターを表示するにはどうすればよいですか?

分類Dev

同じページの複数のテキスト領域の文字カウンターを表示するにはどうすればよいですか?

分類Dev

this.state配列内の各オブジェクトのmap関数を使用してテキストボックスをレンダリングします。テキスト領域のテキストを処理するにはどうすればよいですか

分類Dev

ボタンをクリックして、各関数で親のテキスト値を取得します

分類Dev

ドロップダウンから複数の値を選択し、送信ボタンをクリックしてテキスト領域に表示する方法...?

分類Dev

Meteorのテンプレートレンダリング関数で親データコンテキストにアクセスします

分類Dev

インポートされたスタンドアロンスクリプトの関数をセル数式のカスタム関数として使用できますか?

分類Dev

bashスクリプトのウェイトキー関数でボタンを長押しする方法

分類Dev

2つまたは3つの色付き領域で密度関数をプロットしますか?

分類Dev

jQuery:ドキュメント全体でキー入力関数をトリガーしますが、入力およびテキスト領域内ではトリガーしませんか?

分類Dev

Rforeach関数がソース関数のカウンターを見つけることができません

Related 関連記事

  1. 1

    JavaScript関数を再度実行した後、テキスト領域をクリアするのに助けが必要

  2. 2

    データベース内の2つのテーブルから関数をカウントします

  3. 3

    2つの関数Pygameを呼び出して、テキストをリアルタイムで更新します

  4. 4

    テキスト領域+列数cssにより、フォーカスのアウトラインが次の列にブリードします

  5. 5

    ノックアウトデータ-関数にテキストをバインドすると、関数の文字列バージョンが返されます

  6. 6

    React | 親が「アンチパターン」でなくてもクリックしたときに、子のテキスト領域に焦点を合わせます

  7. 7

    2つの異なるdivをカウンタークリックし、prepend()関数を非表示にします

  8. 8

    CSSとHTML:マウストラッキングでテーブルの領域をマークします

  9. 9

    Golangでコンテキストタイムアウトを使用して実行中の関数を停止する

  10. 10

    数の追加とカウントに関してスキームで任意のリストを管理する方法

  11. 11

    剣道アップロードコントロールの更新ボタンクリックでカスタムJavaScript関数を実行します

  12. 12

    Ruby onRailsのステータスとの関連付けの数をカウントします

  13. 13

    Javascriptは、複数のボタンと同じクラスのボタンクリックで2つの関数を実行します

  14. 14

    マスター関数内で2つの関数を実行します

  15. 15

    カウンターのキャラクターとして複数行のアスキーアートをどのように使用しますか?(バッチ)

  16. 16

    setTimeoutへのJavascript関数とページ上のボタンがクリックされたときにタイムアウトをキャンセルして残りの関数を続行しますか?

  17. 17

    SSAS表形式モデルのテキストフィールドで関数DAXをカウントします

  18. 18

    Lambda関数で別の関数をリクエストしてタイムアウトするとタイムアウトエラーが発生する

  19. 19

    同じページの複数のテキスト領域の文字カウンターを表示するにはどうすればよいですか?

  20. 20

    同じページの複数のテキスト領域の文字カウンターを表示するにはどうすればよいですか?

  21. 21

    this.state配列内の各オブジェクトのmap関数を使用してテキストボックスをレンダリングします。テキスト領域のテキストを処理するにはどうすればよいですか

  22. 22

    ボタンをクリックして、各関数で親のテキスト値を取得します

  23. 23

    ドロップダウンから複数の値を選択し、送信ボタンをクリックしてテキスト領域に表示する方法...?

  24. 24

    Meteorのテンプレートレンダリング関数で親データコンテキストにアクセスします

  25. 25

    インポートされたスタンドアロンスクリプトの関数をセル数式のカスタム関数として使用できますか?

  26. 26

    bashスクリプトのウェイトキー関数でボタンを長押しする方法

  27. 27

    2つまたは3つの色付き領域で密度関数をプロットしますか?

  28. 28

    jQuery:ドキュメント全体でキー入力関数をトリガーしますが、入力およびテキスト領域内ではトリガーしませんか?

  29. 29

    Rforeach関数がソース関数のカウンターを見つけることができません

ホットタグ

アーカイブ