以下のように変数の練習をしていたのですが、document.aaa.y.valueを右辺に持ってこないやり方っていうのはあるのでしょうか?
また、ifの中身についてなのですが、一応これでも動くんですけど文法的にはどうなのでしょう?お願いします
<html>
<head>
<title>変数の練習</title>
<script language="JavaScript">
<!--
function test()
{
var x= document.aaa.y.value;
document.aaa.y.value=x*1+1;
if (document.aaa.y.value == "10") {
document.aaa.y.value=0;
}
}
//-->
</script>
</head>
<body>
<form name="aaa">
カウント:<input name = "y" value=0>
<input type="button" value ="+1" onClick = "test()" >
</form>
</body>
</html>
No.2ベストアンサー
- 回答日時:
おはようございますtomo-naoさん、xruzです。
基本的にはleaz024さんの言われる通り問題はありません。
ただ厳密に言うと、
<input type="button" value ="+1" onClick = "test()" >
でvalue値には文字列の+1が入っています。
従ってvar x= document.aaa.y.value; は
var x=parseInt(document.aaa.y.value); と整数値変換します。
(この場合次の行で無理やりx*1というような数値変換は不要です。)
if (document.aaa.y.value == "10") { では文字列比較をしていますので
document.aaa.y.value=x*1+1; は
document.aaa.y.value=(x*1+1).toString(); と文字列変換します。
まぁ、普通はこんなこと考える必要はないと思われますがスクリプトの
動きが「おかしいな」と思ったときには頭の片隅から引っ張り出してください。
がんばってくださいね(~:~i
パソコンの調子が悪くてお礼が遅くなってしまい申し訳ありませんでした!!詳しく答えて下さって本当にありがとうございました★整数値変換とか文字列変換っていうのがあるんですね!知らなかった~便利ですねアレ。これから使ってみようかな(^_^)ありがとうございました。大変勉強になりました☆
No.1
- 回答日時:
> document.aaa.y.valueを右辺に持ってこないやり方
これって、どこのことを言っているのでしょうか?
右辺にせずに、変数 x に値をコピーしたいというのであれば、それは不可能です。
もし x を使わずに値を1増やしたいというのであれば、
document.aaa.y.value++;
か、
++document.aaa.y.value;
でOKです。
> ifの中身について、文法的にはどうなのでしょう?
文法は問題ないですよ。
ただ、結構document.aaa.y.valueがあちこちにいるので、減らす工夫をした方が良いように思います。
折角、変数 x に値をコピーしたのだから、チェック等も x で行い、最終的に求まった値をdocument.aaa.y.valueに戻してやるとか。
function test() {
var x = document.aaa.y.value;
x++;
if (x == 10) {
x = 0;
}
document.aaa.y.value = x;
}
また、変数 x を使わない、こんな方法もあります。
function test() {
if (++document.aaa.y.value == 10) {
document.aaa.y.value = 0;
}
}
パソコンの調子が悪くてお礼が遅くなってしまい申し訳ありません!!丁寧に答えて下さってどうもありがとうございます☆
x = document.aaa.y.valueとdocument.aaa.y.value = xって意味的に違うんですね!!勉強になりました。ほんとにどうもありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSのボタンを複数う使うには
-
リンクの追加
-
追加ボタンを押した際に ok ボ...
-
ページ間の値の引渡し
-
ボタンをクリックするとテキス...
-
javascriptでtextareaに文字列...
-
クリックさせたいが、click()が...
-
ボタンかリンクをクリックする...
-
オークションサイト一括検索サ...
-
ブラウザの外にあるマウスの情...
-
formのfileの値をhiddenでも持...
-
クリックでテーブル内の背景色...
-
正規表現で複数マッチ条件で悩...
-
ボタン2回押しを無効にしたい
-
<form action="#">の意味とは?
-
<td>の中のonClick="location" で
-
JavaScriptにて動的に配列を作...
-
背景色を変えて未入力チェック...
-
【jsp/Java】チェックボックス...
-
javascriptで画像の移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
iOSのみダブルタップが必要
-
onclickが動作しない
-
追加ボタンを押した際に ok ボ...
-
ボタンかリンクをクリックする...
-
innerHTML内では改行は禁止?
-
クリックさせたいが、click()が...
-
javaScriptの変数をJavaの変数...
-
formのfileの値をhiddenでも持...
-
JavascriptでDOM-based XSSの発...
-
クリックでテーブル内の背景色...
-
VB.NETで<Input>タグ、<text...
-
開いた子ウィンドウにあるボタ...
-
jQueryで設定したイベントハン...
-
javascriptで作成されたテーブ...
-
HTMLのテキストボックスへのド...
-
テキストフィールド未入力の場...
-
JavaScriptのfileオブジェクト...
-
JSのボタンを複数う使うには
-
オンクリックで現在時刻の取得→...
おすすめ情報