こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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()">&nbsp;<input type="reset" value="リセット"></p>

</form>
</body>
</html>

プログラムとしては成功しているんですが
解らないところが
for(var i=0;i<3;i++)

のところです。ラジオボタンに添え字を使って計算をしているという
プログラムなのでしょうが
たとえばlengthではなくあえて数字を入れてるのは
配列ではないからでしょうか?

もう一点

formをつかって

button やimage などを使うと
間違いを指摘してもデーターが流れて言ってしまいます。
return falseなど工夫はしてますが
データーをtextに入っている文面を消さずに修正させるいい方法はありませんか

お願いします。

投稿日時 - 2014-09-24 15:19:39

QNo.8766620

すぐに回答ほしいです

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

開発者ツールは試してみてくれたのかな?

呼び出されているだろうjsとformの部分があれば大体追えるけど、
変に省略されるとかえって難しくなる。

まずはエラーが出ているのか出ていないのか。

出ているならそこら辺を見直すだけで済むし。

投稿日時 - 2014-09-26 07:24:27

補足

エラーはでてないんですよ。
IEで解るようになってますが
おそらくプログラムとしては成功しているんですよ。
ただ自分の思ったとおりになってないって展開です

投稿日時 - 2014-09-26 19:37:06

お礼

再度質問するので
今日作ってみました。
やっぱりだめでした

投稿日時 - 2014-09-27 15:14:08

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

いや、だからちゃんと動いてるほう載せられてもわからんっての。

何かしら違いがあるから違う動きになってるんだからそこがわからないと適切な回答出来ないよ。


ブラウザの開発者ツール開いて実行してみなよ。
どこかエラーになってるんじゃない?
エラーになるとsubmitかかる場合もあるよ。

大体のブラウザはF12押せばツールが開くから。

投稿日時 - 2014-09-25 15:54:43

補足

やっぱあれっすかね。
みないとわからんですか

どっちを載せたほうがいいですかね。

jsがHTMLのほうか

両方は掲載むりなような・。

投稿日時 - 2014-09-25 19:14:23

>プログラムとしては成功しているんですが
>解らないところが
>for(var i=0;i<3;i++)

項目も固定で出しているし、いちいち他の方法を考えなくて大丈夫。
選択項目が可変になるならradioの最大数とかでやったほうがPGの修正は少ないけど、
ケースバイケース。


>formをつかって

>button やimage などを使うと
>間違いを指摘してもデーターが流れて言ってしまいます。
>return falseなど工夫はしてますが
>データーをtextに入っている文面を消さずに修正させるいい方法はありませんか
何かエラーとかが発生してsubmitされちゃってるしか予想がつかない。
どうやってるか載せてくれないとわからん。

投稿日時 - 2014-09-24 15:51:24

補足

最初の質問から補足するです。

ちなみに配列をもちいて・・・でもこの場合あれっすかね。
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を使っているからなのか、

ちなみに流れてしまう要因って思いつくもの教えてもらえば特定できるかもしれません。

上のプログラムではできているから余計わからないです。

投稿日時 - 2014-09-25 14:40:51

あなたにオススメの質問