• ベストアンサー

<input type="button">でボタンを押したときの処理

ボタンをクリックしたらalertによって下記のような文字列、trueかfalseを返すようにしたいのです。 fulction hantei(){ if(str.length > 6){ document.write("true") } else{ document.write("false") } } あと、functionにはdocument.writeが使えないようなのですが、そうならばどのようにして表示させるのでしょう? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

"alertによって"の表現が、どうにでもとれます。 「警告ダイアログを表示させたい」という意味であれば、#1の方の説明の通りです。 画面上のどこか文字列を変更したいならば、document.all(ID) と innerHTMLを利用できます。ただしNetscapeでは、4.x系も、7.x系も効きません。Opera、Firefoxを有効なようですね。 以下にサンプル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>てすと</title> <script type="text/javascript"> <!-- function func(message) {  var targetItem = document.all("alertTarget");  targetItem.innerHTML = message; } // --> </script> </head> <body> <form target="."> <span id="alertTarget"></span><br> <input type="button" value="alert A" onclick="func('aaaa')"> <input type="button" value="alert B" onclick="func('bbbb')"> </form> </body> </html>

tiana_norg
質問者

お礼

回答およびサンプルありがとうございます。 私が構想していたのは、このサンプルで当てはめた場合、ボタンは一つで、ボタンをクリックするとスクリプトの中でif文によって条件分岐させてaaaaまたはbbbbを表示させる、といった感じを考えていました。 本来考えていたのは、ボタンをクリックすると条件分岐によってtrue(上ではaaaa)またはfalse(上ではbbbb)をalertで表示させたかったのです。 乱文で失礼しました。

tiana_norg
質問者

補足

お二人とも詳しい回答をありがとうございました。 おかげさまで、私が望むように動作するようになりました。 また、何かありましたらよろしくお願いします。

その他の回答 (1)

回答No.1

alertで表示したいのなら、  alert('true'); では? document.write は、画面に直接文字を書くようなイメージで、ダイアログを出すものではありません。 使うのであれば、前後にopenとcloseが必要です。 document.open(); document.write ("Hello World!"); document.close();

参考URL:
http://www.tohoho-web.com/js/document.htm#writeDoc
tiana_norg
質問者

お礼

ご回答ありがとうございます。 >alertで表示したいのなら、 > alert('true'); >では? これだと、ボタン押したら必ず「true」としかでないのでは? 私がやりたいと思っているのは、条件分岐によりボタンを押したらtrueまたはfalseを表示させたいのです。 あとdocument.writeについて、ありがとうございます。

関連するQ&A

  • ラジオボタンとセレクトボックスの選択チェック

    ラジオボタン、セレクトボタンの選択チェックをしたいのですが 同時にチェックする場合どうすればよいのでしょうか。 失敗策ですが、参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++){ if(document.form1.seibetu[i].checked){ flag=0; break; } } } else{ if(!document.form1.seibetu.checked){ flag=1; } } if(flag){ window.alert('性別が選択されていません'); return false; } else{ return true; } if(document.form1.nenrei.options[document.form1.nenrei.selectedIndex]. value==""){ flag=1; } if(flag){ window.alert('年齢が選択されていません'); return false; } else{return true; } }

  • 複数のラジオボタンの選択チェック

    Q1とQ2の2問があり、ラジオボタンで回答を選択するようにしていますが、 ラジオボタンを選択しなかった場合、選択を促すようメッセージを表示させるようJavaScriptで以下のように作成してみましたがうまくいきません。 Q1とQ2の両方を選択しなかった場合、「Q1が選択されていません」とメッセージが表示されますが、Q1だけを選択してQ2を選択しなかった場合はメッセージが表示されません。 いろいろ調べてみたのですが、function checkの使い方に問題があるのでしょうか? function check(){ var flag = 0; if(document.form1.Q1.length) { flag = 1; var i; for(i = 0; i < document.form1.Q1.length; i ++){ if(document.form1.Q1[i].checked){ flag = 0; break; } } } if(flag){ window.alert('Q1が選択されていません'); return false; } else{ return true; } var flag = 0; if(document.form1.Q2.length) { flag = 1; var i; for(i = 0; i < document.form1.Q2.length; i ++){ if(document.form1.Q2[i].checked){ flag = 0; break; } } } if(flag){ window.alert('Q2が選択されていません'); return false; } else{ return true; } }

  • チェックボックスの選択チェック

    ラジオボタンの選択チェック、セレクトボタンの選択チェックのあとにチェックボックスの選択チェックをしたいのですが、どのように入れればよいのでしょうか。教えてください。 ↓参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++) if(document.form1.seibetu[i].checked)flag=false; } if(flag){ alert('性別が選択されていません'); return false; } if(document.form1.nenrei.value=="")flag=true; if(flag){ alert('年齢が選択されていません'); return false; } if( document.form1.Q1.length){ flag=1; var i; for(var i=0; i<document.form1.Q1.length; i++) if(document.form1.Q1[i].checked)flag=false; if(flag){ alert('Q1が選択されていません'); return false; } else {★★★ここに入れたい★★★   ;} } }

  • radioボタンでも、うまくアラート処理したいのですが・・・

    <SCRIPT LANGUAGE="JavaScript"> <!-- // ヌル及び空欄のチェックを行う function isFilled(elm) { if (elm.value == "" || elm.value == null) return false; else return true; } function isReady(form) { // 名前の空欄のチェックを行う if (isFilled(form.name) == false) { alert("お名前を入力して下さい。"); form.name.focus(); return false; } return true; } //--> </SCRIPT> フォームによるアンケートページを作成しているのですが、 textボックスで回答が書かれていなく、空欄の部分があったら アラートを出し、そのtextボックス部分に戻す、というような 上記プログラムの流れにしています。 textボックスではうまくいくのですが、radioボタンのとき、 うまくいきません(アラートは出るが、フォームに戻らない)。 回避策を教えてください。

  • チェックしなくても、確認のウインドウがでる

    チェックしなくても、確認のウインドウがでてしまうのですが、どこがいけないのでしょうか <SCRIPT language=JavaScript> function SubmitCheck() } if (document.Order.elements[kiyaku_fn].value == ""){ return false; } else if (document.Order.elements[kiyaku_fn].value == "同意"){ alert("規約に同意して下さい"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "規約:" + document.Order.elements[kiyaku_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT> <INPUT id=checkbox1 type=checkbox value="同意" name=checkbox1>規約

  • フォーム内のラジオボタンの数の取得

    flag = 0; for(i=0;i<document.frm.re_id.length;i++){   if (document.frm.re_id[i].checked){     flag = 1;   } } if (!flag){     alert('ラジオボタンのいずれかをご選択ください');   return false; } return true; 今はこのように記述してtrueの時にsubmitが実行されるようにしています。 ラジオボタンが2つ以上ある時はdocument.frm.re_id.lengthがきちんとラジオボタンの数を返してくるんですが、ラジオボタンが1つの場合undefindとなってしまいます。 document.フォーム名.ラジオ名.lengthはラジオボタンが1つの場合は使えないのですか?

  • 削除ボタンの確認ダイアログを表示させると処理が進まない

    いろいろ検索しましたが、回答が得られなかったため質問します。 削除ボタンを押した時、確認ダイアログを表示させ、 OKをクリックすると処理が進むようにしようと思っているのですが、 下記のコードだと、OKでもキャンセルでもonclickの処理に進まず困っています。 ■javascript function del_confirm(){ Ans = confirm("削除します"); if(Ans==true){ alert("削除しました"); return true; }else{ alert("キャンセルしました"); return false; } } ■body <input type="submit" value="チェックしたものを削除" onmouseup="return del_confirm()" onclick="action_delete.php"> 間違ったところなどあればご指摘お願い致します。 わからないことがあれば追記しますので、 よろしくお願い致します。

  • 削除ボタンの確認ダイアログを表示させると処理が進まない

    いろいろ検索しましたが、回答が得られなかったため質問します。 削除ボタンを押した時、確認ダイアログを表示させ、 OKをクリックすると処理が進むようにしようと思っているのですが、 下記のコードだと、OKでもキャンセルでもonclickの処理に進まず困っています。 ■javascript function del_confirm(){ Ans = confirm(\"削除します\"); if(Ans==true){ alert(\"削除しました\"); return true; }else{ alert(\"キャンセルしました\"); return false; } } ■body <input type=\"submit\" value=\"チェックしたものを削除\" onmouseup=\"return del_confirm()\" onclick=\"action_delete.php\"> 間違ったところなどあればご指摘お願い致します。 わからないことがあれば追記しますので、 よろしくお願い致します。

  • 送信フォーム確認画面

    送信フォーム確認画面 始めまして、初心者で御座いますが、チェックボックスで(複数選択可) チェックしたものだけ、送信ボタンクリック後の確認画面に出るようにしたいのですが、 + "選択:" + document.Order.elements[ ].value + "\n" 上記[ ]の中になにを記載するばよいのでしょうか、 宜しくお願いします。 <SCRIPT language=JavaScript> function SubmitCheck(){ if(document.Order.elements[a_fn].checked == "") if(document.Order.elements[b_fn].checked == "") if(document.Order.elements[c_fn].checked == ""){ alert("最低1つチェックして下さい"); return false; } if(document.Order.elements[d_fn].value == ""){ alert("購入日を入れてください"); return false; } var confirm_str = ""; confirm_str = "下記の事項をご確認ください。\n" + "正しければ、OKを押してください。\n" + "--------------------------------\n" + "選択:" + document.Order.elements[ ].value + "\n" +"" + "購入日:" + document.Order.elements[d_fn].value + "\n\n"; temp = 0; confirm_str += "--------------------------------\n"; if(confirm(confirm_str)){ return true; } else return false; return true; } </SCRIPT>

  • RegExpでカンマの判定で疑問があります。

    下記のようなjavascriptで入力チェックを考えています。 だいたい意図通りに動くのですが、「,」を入力した場合、想定はfalseなのですが、trueになってしまいます。 何か見落としがあるのでしょうか。また理由がわからないため、下記に指定していないのに意図せずにtrueになる文字がないか心配です。 どなたかアドバイスを頂けないでしょうか。 ※ いまはカンマだけ個別に比較して対応しています。 function test() { var str = sample8.input1.value; var check = new RegExp("[ !\"#$%&'()*+-./1023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz|~アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゛゜。「」、・]"); if (str.match(check)) { alert("true"); } else { alert("false"); } }

専門家に質問してみよう