質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

322閲覧

JavaSqliptのフォームからリアルタイムで数値を受け取って比較したい

yoyakoma

総合スコア12

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/06/28 02:02

前提・実現したいこと

HTML内にJavaSqliptを埋め込んで、テキストボックスの値を比較して表示内容を変えるプログラムを作りたいです。
テキストボックスの内容はリアルタイムで判定したいです。

プログラミングの初心者なのでいろいろな機能を取り入れながらいろいろ実験してる最中ですがあまりにもわからないので投稿いたしました。

発生している問題

表示が変わらない

該当のソースコード

<HTML> <meta http-equiv="Content-Type" content="text/html; charset= Shift_JIS"> <HEAD> <TITLE>てすと2</TITLE> <Script Language="JavaScript"> //↓documentをdと宣言すると、その後ラクです。 //↓JavaScriptのスピードアップの効果もあるらしいです。 var d = document; //↓後の関数で使う変数を宣言します。 var oldvalue = ""; var InPut; var OutPut; var henkan; //↓何ミリ秒ごとに値のチェックをするか(1000=1秒) var TimeInterval = 1000; function ValCheck() { //↓それぞれの変数に代入します。 InPut = d.getElementById("Text1"); OutPut = d.getElementById("Div1"); henkan= parseInt(InPut); //OutPutを指定ミリ秒で書き換えても良いのですが、念のため「変更があった時」だけ書き換えるようにします。 if (oldvalue != InPut.value) { OutPut.innerHTML = InPut.value; oldvalue = InPut.value; } //たぶんこのif文がうまくいってないような気がする if(henkan<100){ document.getElementById("JS").innerHTML = "100以上"; }else{ document.getElementById("JS").innerHTML = "100以下"; } //↓ここがキモです。1000ミリ秒後に、関数を呼び出します。 setTimeout(ValCheck, TimeInterval); } </Script> </HEAD> <BODY onload="ValCheck();"> Text1↓ <BR> <Input type="text" id="Text1"> <BR> <BR> <BR> <Div id="Div1" style="background-color: #FFEEF8; border: 1px solid #FF0000; width: 200px; height: 100px; padding: 10px;"></Div> <h5> <a href="javascript:;" onclick="Display_JS('no1')">切り替え</a> <a href="javascript:;" onclick="Display_JS('no2')">元に戻す</a> </h5> <br> <div id="JS">100以下</div> </BODY> </HTML>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mepon

2019/06/28 02:06

色々とツッコミどころが多いですが、とりあえず JavaSqliptではなくJavaScriptです。 要件的に難しく考えずに、$(セレクタ).val();で値を見て それを元にやりたい事記述するのが一番簡単だと思います。
yoyakoma

2019/06/28 02:11

素人質問で申し訳ありませんが$(セレクタ).val();で値を見るというのがいまいちわからないです。 ソースコード内に記述するようなことなのでしょうか
maisumakun

2019/06/28 02:12

コードを見る限り、jQuery以前の感じですね>meponさん
mepon

2019/06/28 02:32

>maisumakunさん ご指摘ありがとうございます!そうですね。jQueryの1.0リリースが2000年以降だった記憶があるので この記述だともっと古そうですね・・・
yoyakoma

2019/06/28 02:33

参考が古すぎたという件だそうで、ご回答ありがとうございます。 ちょっと別で参考になりそうなものイチから探してみます
mepon

2019/06/28 03:10

>yoyakomaさん 調べ方のアプローチだけ。 新しめのHTMLの書き方と、JavaScriptにはjQueryという便利なライブラリがあります。 使い方もheadタグなりに1行追加して読み込ませるだけですしとても簡単です! 恐らくjQueryを使えばやりたい事は5行程度でできてしまうはずです。 頑張ってみてください
yoyakoma

2019/06/28 03:12

>meponさん ご親切にありがとうございます! jQueryでいまいちど探してみます!
guest

回答1

0

個々の要素に言及する前の問題として、何かを参考にして書いたのであれば、参考にしたものが古すぎます

  • 大文字混じりのHTMLタグ
  • d = document;という、現代のブラウザではあまり役に立たないキャッシュ
  • <script>language属性
  • 文字コードがシフトJIS

もう少し最近のを参考にしてみましょう。


henkan= parseInt(InPut);とありますが、InPut自体はHTML要素なので、parseIntしても正しく動きません。

投稿2019/06/28 02:11

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoyakoma

2019/06/28 02:16

参考が古すぎたという件、ありがとうございます。 ちょっと別で参考になりそうなものイチから探してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問