プロが教える店舗&オフィスのセキュリティ対策術

JavaScript初心者のyuki_xです。よろしくお願いします☆

以下のコードで、
<チェック>を押下したときの動作が上手くいきません。
どうしてなのか、さっぱりわからないので教えてください!!

私の予定では、

1)<チェック>押下
2)nextPage() が呼ばれる
3)nextPage() で onSubmit イベントが発生
4)onSubmit に記述されている check() が呼ばれる

となるはずなのですが、onSubmit イベントが発生していないようなのです。

alert() をいれて確認したところ、nextPage() が呼ばれたあと、
FORM の action に書かれている next.html へ移ってしまいます。
check() は呼ばれません。

どこが間違っているでしょうか?


<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function nextPage() {
document.myform.type.value = n;
document.myform.submit();
}

function check() {
//入力チェック
}

//-->
</SCRIPT>

<FORM action="next.html" method="post" name="myform" onSubmit="return check()">
<INPUT type="hidden" name="type" value="">
<INPUT type="button" value="チェック" onClick="nextPage();">
</FORM>

(IE を使っています。)

A 回答 (1件)

ソースから言うと、next.htmlを開きたいように見えるんですが、何をやりたいのでしょうか?



Submitするということは、next.htmlにformの内容を送信するということなので、新しく開いたnext.htmlにtypeの値が入ります。function check()以下は、開いたページに記述しましょう。

もし、データのチェックをしたあとでnext.htmlにデータを送りたいのであれば、
function nextPage()
{
document.myform.type.value = n;

入力チェック部分の記述

document.myform.submit();
}
で良いのではないですか?
    • good
    • 0
この回答へのお礼

もし、データのチェックをしたあとでnext.htmlにデータを送りたいのであれば、
function nextPage()
{
document.myform.type.value = n;
入力チェック部分の記述
document.myform.submit();
}
で良いのではないですか?

↑↑↑↑

おぉ!!!そうですね。(嬉
入力チェックしてから、次のページを開きたかったのです。
今、目からウロコ 落ちました。

ありがとうございました☆

お礼日時:2002/08/09 12:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!