JavaScript プログラムの解説
- JavaScriptのプログラムで、ラジオボタンの値に応じて計算を行っています。
- forループの中の「i」は、配列ではなく単純な数字のカウンターです。
- フォームの入力データを修正するための工夫の方法については、詳細を教えていただけますか?
- ベストアンサー
javascriptについて
<script type="text/javascript"> <!-- function df(){ var scr=100; if(document.ad.y.checked){ var sty=document.ad.a; for(var i=0;i<3;i++){ if(sty[i].checked){ scr+=20+10*i; break; } } } document.ad.ad1.value=scr; } --> </script> </head> <body> <form action="#" method="POST" name="ad"> <h4>毎日歯を磨きますか?</h4> <p><input type="checkbox" name="y" value="">はい<br> <input type="checkbox" name="n" value="">いいえ</p> <h4>何回</h4> <p>1回<input type="radio" name="a" value=""><br> 2回<input type="radio" name="a" value=""><br> 3回<input type="radio" name="a" value=""></p> <p>何<input type="text" size="20" name="ad1">点</p> <p><input type="button" value="配点" onClick="df()"> <input type="reset" value="リセット"></p> </form> </body> </html> プログラムとしては成功しているんですが 解らないところが for(var i=0;i<3;i++) のところです。ラジオボタンに添え字を使って計算をしているという プログラムなのでしょうが たとえばlengthではなくあえて数字を入れてるのは 配列ではないからでしょうか? もう一点 formをつかって button やimage などを使うと 間違いを指摘してもデーターが流れて言ってしまいます。 return falseなど工夫はしてますが データーをtextに入っている文面を消さずに修正させるいい方法はありませんか お願いします。
- yonbakukan
- お礼率7% (11/148)
- JavaScript
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
開発者ツールは試してみてくれたのかな? 呼び出されているだろうjsとformの部分があれば大体追えるけど、 変に省略されるとかえって難しくなる。 まずはエラーが出ているのか出ていないのか。 出ているならそこら辺を見直すだけで済むし。
その他の回答 (2)
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
いや、だからちゃんと動いてるほう載せられてもわからんっての。 何かしら違いがあるから違う動きになってるんだからそこがわからないと適切な回答出来ないよ。 ブラウザの開発者ツール開いて実行してみなよ。 どこかエラーになってるんじゃない? エラーになるとsubmitかかる場合もあるよ。 大体のブラウザはF12押せばツールが開くから。
補足
やっぱあれっすかね。 みないとわからんですか どっちを載せたほうがいいですかね。 jsがHTMLのほうか 両方は掲載むりなような・。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
>プログラムとしては成功しているんですが >解らないところが >for(var i=0;i<3;i++) 項目も固定で出しているし、いちいち他の方法を考えなくて大丈夫。 選択項目が可変になるならradioの最大数とかでやったほうがPGの修正は少ないけど、 ケースバイケース。 >formをつかって >button やimage などを使うと >間違いを指摘してもデーターが流れて言ってしまいます。 >return falseなど工夫はしてますが >データーをtextに入っている文面を消さずに修正させるいい方法はありませんか 何かエラーとかが発生してsubmitされちゃってるしか予想がつかない。 どうやってるか載せてくれないとわからん。
補足
最初の質問から補足するです。 ちなみに配列をもちいて・・・でもこの場合あれっすかね。 lengthってやっぱりおかしな事になるのかな。 form使っているという事で。 次の質問がやっかいです。 function df(){ var sty=0; if(document.ad.ad1.value==""){ sty=1; } if(document.ad.ad2.value==""){ sty=1; } if(sty){ alert("記入漏れ"); return false; } else{ return true; } } --> </script> </head> <body> <form action="#" method="POST" name="ad"> <p>テスト<input type="text" size="30" name="ad1"></p> <p>テスト<input type="text" size="30" name="ad2"></p> <p><button onClick="df()"><img src="rtp/migi.jpg"></button></p> </form> </body> </html> これはちゃんと止まるんですが 自分の作成したページは流れちゃいます。 掲載したいけれども長いので掲載できないです。 this.formを使っているからなのか、 ちなみに流れてしまう要因って思いつくもの教えてもらえば特定できるかもしれません。 上のプログラムではできているから余計わからないです。
関連するQ&A
- javascriptについて
function df(){ document.ad.ad1.value=500; } function df2(a){ var sty=a.ad2.selectedIndex; a.ad3.value=eval(a.ad1.value)*eval(a.ad2.options[sty].value); } function df3(){ var s1=document.ad.ad3.value; var s2=document.ad.ad4.value; var fv=s1+"円\n"+ s2+"様"; var don=confirm(fv); } function df4(){ var p=0; if(document.ad.ad4.value==""){ p=1; } if(p){ alert("記入漏れ"); return false; } else{ return true; } } --> </script> </head> <body> <form action="#" method="POST" name="ad"> <p>ラーメン<input type="text" soze="20" value="500" name="ad1" onChange="df()">円</p> <p><select name="ad2" onChange="df2(this.form)"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> 個 </select> </p> <p>合計<input type="text" size="20" name="ad3">円</p> <p>備考:<input type="text" size="20" name="ad4"></p> <p><button onClick="df3();df4();"><img src="rtp/migi.jpg"></button></p> </form> </body> </html> 内容に間違いがあっても データーを送ってしまいます。 何故なんでしょうか?
- ベストアンサー
- JavaScript
- javascriptの動作で困ってます。
動作不良が三箇所あります。 プログラムに詳しい方がいらっしゃいましたら原因を教えて下さい。 ・未入力の質問をアラートで一括表示させたいのですが、 (3)のテキストエリアの箇所が未入力なのにアラートに表示できません。 判定のtrueとfalseを逆にして試すと、(3)のアラートは表示されるものの、記入しても アラートが出続けます。 ・1度しか指定していないにも関わらず同じ内容の警告アラートが2回出てしまう原因が分かりません。 ・入力した項目や選択した項目に関しては未入力項目のアラートとは別のアラートを用意してvalueの値をアラートで一括表示させたいのですが、関数を定義しているにも関わらず、関数が定義されていないとエラーメッセージが帰ってきて、表示されません。 ソースコードは以下になります。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function check(){ var msg = ""; var msg2 = ""; var str = document.form.id.value; var str2 = document.form.pass.value; if (str.match(/[^0-9]+/)) { alert("客番号は数字のみ"); } if (str.length>5) { alert("客番号は4~5桁"); } if(str.length<4){ alert("客番号は4~5桁"); } if(str==""){ msg += "客番号が未入力です。\n"; }else{ msg2 += document.form.id.value; } if(str2==""){ msg += "パスワードが未入力です。\n"; }else{ msg2 += document.form.pass.value; } if(radioCheck()==false){ msg += "(1)が未入力です。\n"; } if(checkboxCheck()==false){ msg += "(2)が未入力です。\n"; } if(textareaCheck()==false){ msg += "(3)が未入力です。\n"; } if(selectCheck()==false){ msg += "(4)が未入力です。\n"; } if(msg != ""){ //メッセージを出力 alert(msg); } if(radioCheck()==true){ msg2 += document.form.eng.value ; } if(checkboxCheck()==true){ msg2 += document.form.lang.value ; } if(txtareaCheck()==true){ msg2 += document.form.opinion.value ; } if(selectCheck()==true){ msg2 += document.form.age.value ; } if(msg2 != ""){ //メッセージを出力 alert(msg2); } } function radioCheck(){ var count = 0; var eng=document.getElementsByName("eng"); for(var i=0;i<eng.length;i++){ if(eng[i].checked){ count++; } } if(count != 0){ return true; } else{ return false; } } function checkboxCheck(){ var count = 0; var checklist=document.getElementsByName("lang[]"); for(var i= 0;i<checklist.length;i++){ if(checklist[i].checked){ count++; } } if(count != 0){ return true; } else{ return false; } } function textareaCheck(){ var textarea=document.getElementById("demand").value; if(textarea!=""){ return true; } else{ return false; } } function selectCheck(){ var selectValue=document.getElementById("age").value; if(selectValue!="選択されていません"){ return true; } else{ return false; } } </script> </head> <body> <form action="http://www" method="post" name="form"onSubmit="return check()"> <h1>アンケート</h1> <p><label>客番号:<input type="text" name="id"></label></p> <p><label>パスワード:<input type="password" name="pass"></label></p> <h2>(1)</h2> <p>食べたいですか?<br> <br> <input type="radio" name="eng" value="yes"> はい <input type="radio" name="eng" value="neither"> どちらでもない <input type="radio" name="eng" value="no"> いいえ </p> <h2>(2)</h2> <p>食べたい物<br> <br> <input type="checkbox" name="lang[]" value="apple"> りんご <input type="checkbox" name="lang[]" value="banana"> バナナ <input type="checkbox" name="lang[]" value="pasta"> パスタ <input type="checkbox" name="lang[]" value="pizza"> ピザ <input type="checkbox" name="lang[]" value="supu"> スープ </p> <h2>(3)</h2> <p>意見(自由記述)<br> <textarea id="demand" name="opinion" cols="40" rows="4" maxlength="20"> </textarea> </p> <h2>(4)</h2> <p> 年齢を選択 <select id="age" name="age"> <option selected value="選択されていません">以下から選択</option> <option value="10~19才">10~19才</option> <option value="20~29才">20~29才</option> <option value="30~39才">30~39才</option> <option value="40~49才">40~49才</option> <option value="50~59才">50~59才</option> <option value="60~69才">60~69才</option> <option value="70才~">70才~</option> </select> </p> <p> <input type="submit" name="button" value="送信" onclick="check();"> <input type="reset" value="クリア"> </p> </body> </form> </html>
- 締切済み
- JavaScript
- javascriptのtextbox
こんばんは。 <html> <body> <center> <br><br> <form name="fuji"> TEXT BOX<br> <input type="text" name="tex"> </form> <SCRIPT type="text/javascript"> var i; i="ABC" document.write("<input type='button' value='↑を変数iに代入' onClick='i=(document.fuji.tex);'>"); document.write("<br><input type='button' value='表示' onClick='document.write(i);'>"); </SCRIPT> </center> </body> </html> でテキストボックスの中身を表示させたいのですが、 上手くいきません。どうすればいいのでしょうか。 また、変数を使わずに直接テキストボックスの中身を 表示させる事はできるのでしょうか。 教えてください。
- ベストアンサー
- その他(インターネット・Webサービス)
- JavaScriptのラジオボタンについてご質問させていただきます。
JavaScriptのラジオボタンについてご質問させていただきます。 ラジオボタンに選択したメニューの合計カロリーを表示するというシステムを作っているのですが、私は初心者なため、行き詰まってしまいました。。 簡単なシステムで、ハンバーガー、サイドメニュー、ドリンクと3つの項目にそれぞれ2つ選択肢があって、最後に計算ボタンを押すと選んだメニューの合計カロリーが出るというものです。 私が作ったコードが以下になります。 <html> <head> <title>マックでカロリー</title> <script language="javascript"> a =document.formA.hamburger.value; b =document.formB.sidemenu.value; c =document.formC.drink.value; function calccalorie(){ calorie = "a + b + c"; return eval(calorie); } function writecalorie(){ document.write("あなたのマックでの摂取カロリーは" + calccalorie() + "kcalです!<br /><br />"); document.write("ちなみに、一日に必要なエネルギー量の目安は、20代男性で2650kcal、20代女性で2050kcalです。"); } </script> </head> <body> <fieldset> <p> <h2>ハンバーガー</h2><br /> <img src="hamburger.jpg" /> <img src="bigmac.jpg" /><br /> <form name="formA"> <input type="radio" name="hamburger" value="274" /> ハンバーガー <input type="radio" name="hamburger" value="555" /> ビッグマック </form> </p> </fieldset> <fieldset> <p> <h2>サイドメニュー</h2> <img src="frenchfries.jpg" /> <img src="shakashakachicken.jpg" /><br /> <form name="formB"> <input type="radio" name="sidemenu" value="454" /> マックフライポテト(M) <input type="radio" name="sidemenu" value="187" /> シャカシャカチキン </form> </p> </fieldset> <fieldset> <p> <h2>ドリンク</h2> <img src="cocacola.jpg" /> <img src="mcshake.jpg" /><br /> <form name="formC"> <input type="radio" name="drink" value="140" /> コカコーラ(M) <input type="radio" name="drink" value="321" /> マックシェイクバニラ(M) </form> </p> </fieldset> <form> <input type="button" name="btn1" value="何カロリー?" onClick="writecalorie()" /> </form> </body> </html> JavaScriptを勉強し始めて1週間ほどなので、すごく見当違いなことをしているかもわかりません^^; 何かアドバイス(参考ホームページでも)いただければ幸いです。 よろしくお願いいたします。
- 締切済み
- JavaScript
- Javascriptの結果の出し方で困っています。
自分のサイトにチェッカーを入れたくて下記の記述を書きました。 <script> function calc(f){ var sum=0; for(var i=0;i<f.length;i++){ if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value); } f.judge.value=sum; } </script> <form action="chekker/" method="post"> <ol> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q1" id="Q1_1" value="2"><label for="Q1_1">はい</label> <input type="radio" name="Q1" id="Q1_2" value="0"><label for="Q1_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q2" id="Q2_1" value="2"><label for="Q2_1">はい</label> <input type="radio" name="Q2" id="Q2_2" value="0"><label for="Q2_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q3" id="Q3_1" value="2"><label for="Q3_1">はい</label> <input type="radio" name="Q3" id="Q3_2" value="0"><label for="Q3_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q4" id="Q4_1" value="2"><label for="Q4_1">はい</label> <input type="radio" name="Q4" id="Q4_2" value="0"><label for="Q4_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q5" id="Q5_1" value="2"><label for="Q5_1">はい</label> <input type="radio" name="Q5" id="Q5_2" value="0"><label for="Q5_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q6" id="Q6_1" value="2"><label for="Q6_1">はい</label> <input type="radio" name="Q6" id="Q6_2" value="0"><label for="Q6_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q7" id="Q7_1" value="2"><label for="Q7_1">はい</label> <input type="radio" name="Q7" id="Q7_2" value="0"><label for="Q7_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q8" id="Q8_1" value="2"><label for="Q8_1">はい</label> <input type="radio" name="Q8" id="Q8_2" value="0"><label for="Q8_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q9" id="Q9_1" value="2"><label for="Q9_1">はい</label> <input type="radio" name="Q9" id="Q9_2" value="0"><label for="Q9_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q10" id="Q10_1" value="2"><label for="Q10_1">はい</label> <input type="radio" name="Q10" id="Q10_2" value="0"><label for="Q10_2">いいえ</label> </ol> <center> <p><font size="+1" color="#FF0000"><b>採点!!</b></font></p> <input type="text" name="judge" value="0" SIZE="10"> <input type="button" value="採点する" onClick="calc(this.form)"> </p></center> </form> はいが2点、いいえが0点とします。 この記述方法だと、テキストボックスに点数の合計が記載されてしまいます。 別ページに点数の合計を呼び出したいのですが、どうすればいいのでしょうか。 ※ページの内容で中身が変わるわけではなく、点数の結果を表示したいです。 ※呼び出す際のコードも記載していただけたらありがたいです ※結果のページをkekka.htmlとします。 初心者なのでどうしたらいいのか分かりません。よろしくお願いします。
- 締切済み
- JavaScript
- Javascriptの結果の出し方で困っています
自分のサイトにチェッカーを入れたくて下記の記述を書きました。 <script> function calc(f){ var sum=0; for(var i=0;i<f.length;i++){ if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value); } f.judge.value=sum; } </script> <form action="chekker/" method="post"> <ol> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q1" id="Q1_1" value="2"><label for="Q1_1">はい</label> <input type="radio" name="Q1" id="Q1_2" value="0"><label for="Q1_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q2" id="Q2_1" value="2"><label for="Q2_1">はい</label> <input type="radio" name="Q2" id="Q2_2" value="0"><label for="Q2_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q3" id="Q3_1" value="2"><label for="Q3_1">はい</label> <input type="radio" name="Q3" id="Q3_2" value="0"><label for="Q3_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q4" id="Q4_1" value="2"><label for="Q4_1">はい</label> <input type="radio" name="Q4" id="Q4_2" value="0"><label for="Q4_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q5" id="Q5_1" value="2"><label for="Q5_1">はい</label> <input type="radio" name="Q5" id="Q5_2" value="0"><label for="Q5_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q6" id="Q6_1" value="2"><label for="Q6_1">はい</label> <input type="radio" name="Q6" id="Q6_2" value="0"><label for="Q6_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q7" id="Q7_1" value="2"><label for="Q7_1">はい</label> <input type="radio" name="Q7" id="Q7_2" value="0"><label for="Q7_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q8" id="Q8_1" value="2"><label for="Q8_1">はい</label> <input type="radio" name="Q8" id="Q8_2" value="0"><label for="Q8_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q9" id="Q9_1" value="2"><label for="Q9_1">はい</label> <input type="radio" name="Q9" id="Q9_2" value="0"><label for="Q9_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q10" id="Q10_1" value="2"><label for="Q10_1">はい</label> <input type="radio" name="Q10" id="Q10_2" value="0"><label for="Q10_2">いいえ</label> </ol> <center> <p><font size="+1" color="#FF0000"><b>採点!!</b></font></p> <input type="text" name="judge" value="0" SIZE="10"> <input type="button" value="採点する" onClick="calc(this.form);window.open('kekka.html','windowname');"> </p></center> </form> はいが2点、いいえが0点とします。 この記述方法だと、テキストボックスに点数の合計が記載されてしまいます。 別ページのテキストボックス内に点数の合計を呼び出したいのですが、どうすればいいのでしょうか。 出来れば呼び出す際のソースコードなどもすべて記載していただけるとありがたいです。 ※ページの内容で中身が変わるわけではなく、点数の結果を表示したいです。 ※呼び出す際のコードも記載していただけたらありがたいです ※結果のページをkekka.htmlとします。 初心者なのでどうしたらいいのか分かりません。よろしくお願いします。
- 締切済み
- JavaScript
- アラートを出したいのですが・・
以下のような感じでラジオボタンのリンクで、何も選択していない状態でGOボタンを押すと アラートが出るようにしたいのですが、どうしたらよいのかわからなくて困っています。 できれば、フルーツを選んでない場合は「フルーツを選んでください」と、価格を選んでない場合は 「価格を選んでください」と、両方選んでない場合は上記の2つとも出るようになれば理想なんですけど・・・ どうか宜しくお願い致します。m(_ _"m)ペコリ <script language=javascript> <!-- window.onload = function(){ document.forms[0]["GO"].onclick = function(){ var fruits2 = document.forms[0]["fruits"]; var price2 = document.forms[0]["price"]; function getCheckedElement(nl){ for(var i=0;i<nl.length;i++){ if(nl[i].checked) return nl[i]; } } var fruits = getCheckedElement(fruits2).value; var price = getCheckedElement(price2).value; URL = '/' + fruits + '/' + price; window.location = URL; } } --> </script> <form action="javascript:void(0)"> <input type="radio" name="fruits" value="APPLE">リンゴ<br> <input type="radio" name="fruits" value="ORANGE">ミカン <BR><BR> <input type="radio" name="price" value="100.html">100円均一商品<BR> <input type="radio" name="price" value="300.html">300円均一商品<BR> <input type="radio" name="price" value="500.html">500円均一商品<BR> <BR><BR> <input type="button" value="GO" name="GO" onclick="check()"> </form>
- 締切済み
- JavaScript
- JavaScript for文の処理
JavaScriptでクイズの採点をしたいと思っています。 ↓のスクリプトを書いたのですが 「ページでエラーが発生しました」 という表示がステータスバーにでます。 二問とも一番下の選択肢を選んだ場合 「2点です」とアラートに表示させたいのですがどうしても、うまくいきません。 おそらくfor文内の score + document.myFORM.elements[i].value; このへんがおかしいのだと思うのですが。 どなたか修正方法をお願いします。 <HTML> <HEAD> <script Language="JavaScript"><!-- function GetScore(){ score = 0; for (i=0; i<6; i++) if (document.myFORM.elements[i].checked) score + document.myFORM.elements[i].value; alert(score+"点です"); // --></script> </HEAD> <BODY> <FORM name="myFORM">第一問:あなたは? <BR> <INPUT TYPE="RADIO" NAME="q1" ID="r1"VALUE="0"> <LABEL FOR="r1">引きこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q1" ID="r2" VALUE="1"><LABEL FOR="r2">立てこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q1" ID="r3" VALUE="1"><LABEL FOR="r3">生き残り</LABEL> <BR><BR> 第二問:あなたは? <BR> <INPUT TYPE="RADIO" NAME="q2" ID="r2_1" VALUE="0"><LABEL FOR="r2_1">引きこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q2" ID="r2_2" VALUE="0"><LABEL FOR="r2_2">立てこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q2" ID="r2_3" VALUE="1"><LABEL FOR="r2_3">オタク</LABEL> <BR><BR> <input type="button" value="採点する" onClick="GetScore()"> </FORM> </BODY></HTML>
- ベストアンサー
- JavaScript
- フォームPOST後「戻る」時のチェック値の取得
フォームでPOSTをしたあと、history.backや戻るボタンで戻ったときに、POST時に選択したラジオボタンのcheckedもfalseになってしまうのですが、チェックされているものを取得することはできるのでしょうか。 ■form部分 <form name="form1" method="post" action="..."> <input type="radio" name="radio1" value="1">1<br /> <input type="radio" name="radio1" value="2">2<br /> <input type="radio" name="radio1" value="3">3<br /> </form> ■JavaScript部分 var radio1 = document.form1.radio; for(var i=0;i<radio1.length;i++) { if (radio1[i].checked) { alert(i); } } このようなコードで、選択してPOST後、「戻る」で入力ページ表示時にJavaScriptを実行しても、 radio1[i].checkedは全てfalseになってしまいます。 また選択→POST→戻る→そのままPOSTとすると、選択したvalue値は正しくサーバーに送られます。 「戻る」でのページ表示時に選択したものを取得する方法があれば教示いただけますか。
- ベストアンサー
- JavaScript
- まずみてもらいたいです。
function df(){ var sty=0; if(document.ad.ad1.value==""){ sty=1; } if(sty){ alert("記入漏れ"); return false; } else{ return true; } } function df1(){ alert("試験"); } --> </script> </head> <body> <form action="#" method="POST" name="ad" onSubmit="df1();return df();"> <p>試験<input type="text" size="20" name="ad1"></p> <p>試験<input type="text" size="20" name="ad2"></p> <p><input type="image" src="rtp/migi.jpg" onClick="this.form.submit()"></p> </form> </body> 色々本日試したのですが <button>で画像をかこめばreturnができるんですが imageを使うと流れてしまいます。 原理が解らず納得できません。何故でしょうか?
- ベストアンサー
- JavaScript
お礼
再度質問するので 今日作ってみました。 やっぱりだめでした
補足
エラーはでてないんですよ。 IEで解るようになってますが おそらくプログラムとしては成功しているんですよ。 ただ自分の思ったとおりになってないって展開です