ジャバスクリプトの戻り値を拾うには

[上に] [前に] [次に]
ゆっけ 1999/04/21(水) 22:05:25
イメージをフォームとしてCGIを起動する際にジャバスクリプトで
あるチェックをかけて真であればそのまま起動、偽であればアラート
を出して元の画面に戻るというふうにしたいのですがうまく行きません。
アラートが出るには出るのですがそのあとさらにCGIを呼び出してしまいます。
ソースは以下のとおりです。
<FORM ACTION="xxx.cgi" METHOD=POST>
<input type="IMAGE" src="xxx.gif" BORDER="0" ALT="xxx" NAME="xxx" onClick="CHK();">
<INPUT TYPE="HIDDEN" NAME="COL000" VALUE="\$000\">
<INPUT TYPE="HIDDEN" NAME="COL999" VALUE="\$999\">
</FORM>

ジャバスクリプトでは
function CHK(){

if 〜{
alert("処理できません。");
return false;
}else{
return true;
}
}
としています。

ふじ 1999/04/21(水) 23:03:29
<input type="IMAGE" src="xxx.gif" BORDER="0" ALT="xxx" NAME="xxx" onClick="CHK();return false;">

とりあえず、onClickの方では return false を書いておいて(こうすると飛ばない)、
CHK()の方で
}else{
document.フォームの名前.submit();
return true;
}

としてサブミットさせてやればよろしいかと。
(フォームに名前を付けるのを忘れずに)

ふじ 1999/04/21(水) 23:20:59
あ、この方法だと、イメージのx,y座標が xxx.x とか xxx.y とかでは
取れないみたいですね・・・

Nobu3 1999/04/22(木) 00:42:22
onClick="return CHK();"
でどうでしょう?
試す環境がないのでうまくいくかわかりませんが・・・

Nobu3 1999/04/22(木) 00:43:59
おっと、すいません。補足です。
この方法だと
document.フォームの名前.submit();
の文は必要ないはずです。

ゆっけ 1999/04/22(木) 13:31:43
[[解決]]
とりあえず、ふじさんの方法で解決です。
どうもありがとうございました。
onClick="CHK();return false;"という方法があるんですね。
これは使える。
Nobu3さんの方法も試してみますね。

[上に] [前に] [次に]