入力した文字をalertで表示するスクリプトを作っています
- 入力した文字をalertで表示するスクリプトを作っています。以下、IEとOperaでは動作しますが、FirefoxとGoogle Chromeでは動作しません。
- 書き方が悪いのでしょうか?
- テストボタンをクリックすると、入力した文字がalertで表示されます。
- ベストアンサー
入力した文字をalertで表示するスクリプトを作っています。
入力した文字をalertで表示するスクリプトを作っています。 以下、IEとOperaでは動作しますが、FirefoxとGoogle Chromeでは動作しません。 書き方が悪いのでしょうか? <html> <head> <script language=JavaScript> <!-- function test(){ alert(input1.value); } // --> </SCRIPT> </HEAD> <BODY> <input type="text" name="input1"> <input type="button" value="テスト" onClick="test()"> </html>
- ps5550
- お礼率65% (129/196)
- JavaScript
- 回答数3
- ありがとう数10
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
書き方が悪い、といえば悪いです。 nameよりidを使ってdocument.getElementById("input1").valueとかを推奨します。 で、なぜ動作しないかですが、 たしかFirefoxのalert()は引数なしを認めていないはずなんですよね。 #1様のように書くならいいんですが、質問者様の記述だと Firefoxでは値を取ってくれません。 IEやオペラは頑張ってとってるようですが・・・ で、そうなるとinput1.valueの中身はundefinedとなるので 空扱いをされてアラート関数が呼び出されない。 たしかそういう解釈だったと思います。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
#2さんも指摘の通りnameはユニークを保証されていませんので取り扱いには 注意が必要です トラディショナルなやりかたとしてはこんな感じもあります。 inputはformの子要素として処理した方がやりやすいでしょう。 <script> function test(obj,nam){ alert(obj.form.elements[nam].value); } </script> <form> <p> <input type="text" name="input1"> <input type="button" value="テスト" onClick="test(this,'input1')"> </p> </form>
- nda23
- ベストアンサー率54% (777/1415)
alert(document.getElementsByName("input1")[0].value);
関連するQ&A
- JQueryでfunctionに引数としてIDを渡して処理する方法
HTMLの制御にjQueryを使用しています。 functionに引数としてIDを渡して処理をしたいのですが、やりかたが分かりません。 テスト的にtest1Script、test2Scriptを作成しました。 test1と同様の結果を、引数にIDを渡すtest2Scriptでも得たいのですが、 失敗(1)や失敗(2)のように書いた場合、うまくいきません。何か良い方法はないでしょうか。ご教授下さい。 <script type="text/javascript"> function test1Script(){ alert($("#textfield1").val()); } function test2Script(objId){ //alert($("#objId").val()); 失敗(1) //alert($(#objId).val()); 失敗(2) } </script> </head> <body> <input type="text" id="textfield1" value="test1" /> <input type="button" id="button1" value="テスト1" onclick="test1Script();" /> <input type="button" id="button2" value="テスト2" onclick="test2Script('textfield1');" /> </body> </html>
- ベストアンサー
- JavaScript
- alert閉じた時、htmlに文章を追加表示したい
下記プログラムは、自分の勉強用で作ったものですが、 解答ボタンを押して正解し、alertウィンドウを閉じた瞬間に 説明文のsm1,sm2,sm3をhtml上に追加表示するには どこをどう直したらいいのでしょうか? よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!-- var sm1; var sm2; var sm3; function kaitou1(){ if(document.myForm.ans1.value == "number"){ alert("正解です"); sm1 = "number型とは~"; }else{ alert("違います"); } } function kaitou2(){ if(document.myForm.ans2.value == "string"){ alert("正解です"); sm2 = "string型とは~"; }else{ alert("違います"); } } function kaitou3(){ if(document.myForm.ans3.value == "boolean"){ alert("正解です"); sm3 = "boolean型とは~"; }else{ alert("違います"); } } //--> </script> </head> <body> <p style="width:330px; padding:5px; background-color:#ddd">変数の基本的なデータ型には3つあります。<br> それら3つは何でしょう?<br> 下記○○に半角英数字で入力して下さい。</p> <form name="myForm"> <p>数値を表す○○型 ⇒ <input type="text" size="20" name="ans1"> <input type="button" value="解答" onclick="kaitou1()"> </p> <p>文字列を表す○○型 ⇒ <input type="text" size="20" name="ans2"> <input type="button" value="解答" onclick="kaitou2()"> </p> <p>真偽を表す○○型 ⇒ <input type="text" size="20" name="ans3"> <input type="button" value="解答" onclick="kaitou3()"> </p> </form> <script language="JavaScript"> <!-- document.write("<p>"+sm1+"</p>"); document.write("<p>"+sm2+"</p>"); document.write("<p>"+sm3+"</p>"); //--> </script> </body> </html>
- ベストアンサー
- JavaScript
- JavaScriptがFirefoxで動かない・・・
よろしくお願いいたします。 IEでは正常に動作するのですが、Firefoxで実行してみると ボタンを押しても何の反応もありません。 どのように変更すればFirefoxで動作するのでしょうか? よろしくお願いいたします。 <SCRIPT LANGUAGE="JavaScript"> <!-- function warning(){ alert("テストです。"); } //--> </SCRIPT> <FORM><INPUT type="button" value="ボタンを押して。" onClick="warning()"></FORM> 上記のコードを外部に独立させて・・・ 【コード】 <script type="text/javascript" src="sample3.js"></script> <input type = "button" name = "button3" value = "sample3" onclick = "Func3();"> 【sample3.js】 function Func3() { alert("js外部ファイル記述"); } です。 FC2ブログで活用したいのですが・・・ 改行の扱いは「HTMLタグのみ」に設定しています。 ご回答、よろしくお願いいたします。
- 締切済み
- JavaScript
- location href=""
お世話になります 動作確認をしていてたのですが教えてください <script language="javascript"> <!-- function change(){ location.href="test1.html"; } /--> </script> <input type="button" value="送信" onclick="change()"> IE,Opera,Firefoxで試したのですが、Firefoxではページが切り替わりませんでした 何故でしょう?
- ベストアンサー
- JavaScript
- JavaScriptが動かない原因
javascript は、ほとんど分からない初心者なのですが、 ものすごい単純な事で詰まっています。 <html> <head> <title></title> <script type="text/javascript" language=JavaScript> <!-- function alt() { alert("NG"); } //--> </script> </head> <body> <input type="radio" name="test" value="1" onclick="alt()">テスト1<br> <input type="radio" name="test" value="2" onclick="alert('OK')">テスト2<br> </body> </html> このソースで、テスト1のイベントが発生しません。 IEもfirefoxも、ダメでした。 何が悪いのか・・・・ くだらない質問ですみません。宜しくお願い致します。
- ベストアンサー
- JavaScript
- formとalert
javascript初心者です。 formを使ってテキストボックスに入力された文字をalertを使って表示させたいのですが、functionの中の記述がよくわかりません。 formを使った参考資料も見つからず質問するに至りました。 教えていただければと思います。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>練習</title> <script type="text/javascript"> </script> </head> <body> <form name="a">文字を入力: <input type="text"size="20" name="name1" ><br> <input type="button" name="name2" value="確認" onclick="alert(chk)"> </form> <script type="text/javascript"> function chk(){ var n=document.a.name1.value; alert(n); } </script> </body> </html>
- 締切済み
- JavaScript
- ボタンを押したらテキストボックスの文字色をチェンジ
ボタンをクリックしたらテキストボックスに入っている文字色を黒から赤に変えたいんですがどのようにしたらいいでしょうか? 一応、自分なりに作ってみたものです。エラーがでます。 保存ファイルの拡張子は「html」です。 ------------------------------------------------------- <html> <head> <script language="javascript"> function change(){ document.form1.text1.fgcolor="red"; } </script> </head> <body> <input type="text" value="文字色" name="text1"> <input type="button" value="押す" onClick="change()"> </body> </html> ----------------------------------------------------------
- 締切済み
- JavaScript
- フォームに表示される文字をセンタリングさせたい。
Javascriptの初心者です。宜しくお願いします。 テキストエリアが2つあったとします。 1のテキストエリアにある値を入力してボタンを押すと、 2のテキストエリアに1で入力した値をそのまま表示させ、 尚且つ表示された値をフォーム内でセンタリングさせたいのですが どうすればよいのかわかりません・・・。 ご存知の方がいらっしゃいましたら教えて下さい。 どうぞ宜しくお願い致します。 <html> <head> <script language="JavaScript"> <!-- function my1() { a=document.form1.text1.value; document.form1.text2.value=a; } //--> </script> </head> <body> <form name="form1"> <input type="texterea" name="text1"> <input type="texterea" name="text2"> <input type="button" value="CLICK!" onClick="my1()"> </form> </body> </html>
- 締切済み
- JavaScript
- java script 1から100までの計算
子供の科学で以前1から100までの計算をするプログラムを紹介していましたが その最後に自分で入力した数字を入れるとその数値から計算してくれるようになると 書いてありましたが、どうやってもできません。誰かご教授願いますでしょうか? 今はここまでつくりました。入力した数値が反映されるように宣言はしたのですが答えが めちゃくちゃでどうしようもありません。 <html> <head> <title>1から100まで足すといくつ?</title> <script language="JavaScript"> function Goukei(){ kotae=0; for(i="a1";i<"a2";i++){ kotae=kotae+i } alert("1から100まで足した合計は"+kotae+"です"); } </script> </head> <body> <form name ="F1"> <input type="text" value="1" name="a1"><br> <input type="text" value="5" name="a2"><br> <input type="button" name="B1" value="答えを表示" onClick="Goukei()"> </from> </body> </html>
- ベストアンサー
- その他(ソフトウェア)
- アラートとストップウォッチを合体させたいのですが
どのようにしたらいいのか分かりません。 ストップウォッチ.htm <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta content="text/html; charset=Shift_JIS" http-equiv=Content-Type> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ストップウォッチ</title> <script type="text/JavaScript"> <!-- var a, b; var min, sec, cen, xmin, xsec, xcen; var hajime, ima, interval; var teishi; xmin=0; xsec=0; xcen=0; teishi=1; function dostart(){ if (teishi==1){ hajime=new Date(); a=hajime.getTime()-(xmin*60000+xsec*1000+xcen*10); count(); teishi=0; } } function count(){ interval=setTimeout("count()",10); ima=new Date(); b=ima.getTime(); min=Math.floor((b-a)/60000); sec=Math.floor(((b-a)%60000)/1000); cen=Math.floor((((b-a)%60000)%1000)/10); document.forms[0].elements[0].value=min; document.forms[0].elements[1].value=sec; document.forms[0].elements[2].value=cen; } function dostop(x){ clearTimeout(interval); xmin=eval(x.fun.value); xsec=eval(x.byo.value); xcen=eval(x.ika.value); teishi=1; } function doclear(){ clearTimeout(interval); xmin=0; xsec=0; xcen=0; document.forms[0].elements[0].value="0"; document.forms[0].elements[1].value="0"; document.forms[0].elements[2].value="0"; teishi=1; } function timeout(){ alert("10分経過しました。チネ!!"); } //--> </script> </head> <body bgcolor="#7fffd4" text="#000000" link="#0000ff" alink="#ff00ff" vlink="#00ffff"> <form action="this" method="post"> ストップウォッチ: <input size=3 name="fun" value="0">分 <input size=2 name="byo" value="0">秒 <input size=2 name="ika" value="0"> <br><br> <input type="button" value="スタート" onClick="dostart()" onKeyPress="dostart()"> <input type="button" value="ストップ" onClick="dostop(this.form)" onKeyPress="dostop (this.form)"> <input type="button" value="リセット" onClick="doclear()" onKeyPress="doclear()"> </form> </body> </html> アラート.htm <html> <head><title>テスト</title></head> <body onload=setTimeout('msgdsp()',600000)> <script language="JavaScript"> <!-- function timeout(){ alert("10分経過しました。"); } //--> </script> <input type=button value="スタート" onClick='setTimeout( "timeout()", 600000 )'><br><br> </body> </html> ・・・とそれぞれ作成しています。 ストップウォッチで「スタート」ボタンをクリックすると、ストップウォッチが走り、10分に差し掛かったところでアラートで「10分経過しました」と表示させたいのです。 どのようにすれば、2つの機能を同時に動かすことができるのか、ご教授いただきたいです。 環境はWindows XP、Internet Explorer7.0です よろしくお願いします。
- ベストアンサー
- JavaScript
お礼
皆様、まとめてのお礼で失礼します。 皆様の回答で、Firefoxでも動作するようになりました。 根本的に、JavaScriptから各要素を指定する方法が分かっていませんでした。 nameもIDも同じ意味だと思い込んでいました。 nameの場合は配列で指定するなど、勉強になります。ありがとうございました。