• 締切済み

送信フォームからjspページに値を飛ばしたい

jspページでhtml,javaScriptを用いてフォームの入力制限を行い、FMenu.jspという、jspページにフォームの値を送信したいのですが、うまくいきません。どなたか教えてください。 Form.jspファイル(中略) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>フォーム入力画面</title></head> <body><center> <script type="text/javascript"> <!-- function checkForm(){ var a,b; NCheck(); if(a==true){ WCount(); } ACheck(); if(b==true){ WCount(); document.FM[0].submit(); document.FM[1].submit(); } } (中略) //--></script> <form action="Menu.jsp" method="POST" name="FM"> ID<input type="text" name="ID" size="20" maxlength="4"><br> パスワード<input type="text" name="PASS" size="20" maxlength="4"> <input type="button" value="OK" onClick="return checkForm();"> (中略)

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

まだ状況はよく掴めませんが、 >>> Menu.jspページに飛んでゆく 他にも飛ばしたい物はありますか。 document.fm[0].submit(); document.fm[1].submit(); これは、何でしょうか。 ・ 上と関連しますが、fm[0]とfm[1]は、何処にあるのでしょうか。 ここで、フォーム入力画面というところに、2つの<form>タグがあると仮定して、1つのコードを書いてみます。以下のコードを参考にしてみてください。 (文字コードは無視してください。) ------------------------------------------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>フォーム入力画面</title> </head> <body> <center> <table border="1" width="50%" height="50%"> <tr> <td align="center"> フォーム入力画面html <form action="Menu0.jsp" method="POST" name="KARA0"></form> <form action="Menu1.jsp" method="POST" name="KARA1"></form> </td> </tr> </table> <script type="text/javascript"> <!-- function check() { if ( !numberCheck() ) return false; if ( !wordCount() ) return false; if ( !AlphabetCheck() ) return false; document.forms[0].submit(); document.forms[1].submit(); return true; } function wordCount() { //4文字で入力 var word, word2; word = document.FM.ID.value; word2 = document.FM.PASS.value; var a, b; a = word.length; b = word2.length; if (a < 4 || b < 4) { alert("\uff14\u6587\u5b57\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"); return false; } else { return true; } } function numberCheck() { //半角数字 var uidX; uidX = document.FM.ID.value; // wordCount(); if (uidX.match(/[^0-9]+/)) { alert("\u534a\u89d2\u6570\u5b57\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"); return false; } else { return true; } } function AlphabetCheck() { //アルファベッド var passX; passX = document.FM.PASS.value; if (passX.match(/[^A-Za-z\s.-]+/)) { alert("\u534a\u89d2\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c9\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"); return false; } return true; } //--></script> <form action="Menu.jsp" method="POST" name="FM"> ID <input type="text" name="ID" size="20" maxlength="4"> <br> PASSWORD <input type="text" name="PASS" size="20" maxlength="4"> <br> <br> <input type="button" value="ログイン" onClick="return check();"> <input type="reset" value="クリア"> </form> </center> </body> </html>

hachiko85
質問者

お礼

解決しました。アドバイスありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

・ (中略)もあるので不明な点を幾つか挙げてみます。 ・  var a,b;の値は、何処で確実に設定されますか。 ・ FM[0]、FM1]の対応する<form>タグはありますか。   FM["fm0"]とかforms[0]とかでなければいけないかと思います。 ・ checkForm()は、明示的にtrueかfalseを返したほうがよいのでは。

hachiko85
質問者

補足

回答ありがとうございます。説明不足でした。IDとPASSWORDの入力制限を行ってから送信するようにしたいのです。ちょっと書き直したところ、Menu.jspページに飛んでゆくのですが、IDとPASSWORDの両方が入力されてから、飛ばしたいのですが、どちらか一方でも、間違った入力でも飛んでいてってしまいます。 <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>フォーム入力画面</title></head> <body><center> <table border="1" width="50%" height="50%"> <tr><td align="center">フォーム入力画面</td></tr> </table> <script type="text/javascript"> <!-- function check(){ var a,b; numberCheck();    if(a==true){ wordCount();    } AlphabetCheck(); if(b==true){ wordCount();      document.fm[0].submit(); document.fm[1].submit(); } } function wordCount(){ //4文字で入力 var word,word2; word=document.FM.ID.value; word2=document.FM.PASS.value; var a,b; a=word.length; b=word2.length; if(a<4 || b<4){ alert("4文字で入力して下さい"); }else{ return true; } } function numberCheck(){ //半角数字 var uidX; uidX=document.FM.ID.value; wordCount(); if(uidX.match(/[^0-9]+/)){ alert("半角数字で入力してください"); return false; }else{ return true; } } function AlphabetCheck(){ //アルファベッド var passX; passX=document.FM.PASS.value; if(passX.match( /[^A-Za-z\s.-]+/ ) ) { alert("半角アルファベッドで入力してください"); return false; } return true; } //--></script> <form action="Menu.jsp" method="POST" name="FM"> ID<input type="text" name="ID" size="20" maxlength="4"><br> PASSWORD<input type="text" name="PASS" size="20" maxlength="4"> <br><br> <input type="button" value="ログイン" onClick="return check();"> <input type="reset" value="クリア" > </center> </form> </body> </html>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • フォームで送信ボタンを押した際に、Javascriptに入力した値が渡

    フォームで送信ボタンを押した際に、Javascriptに入力した値が渡せない タイトルそのままです。 ボタンを押したらJavascriptでフォームの値をとりたいのです 今は、 最初に取り込ませたいJavasprictをhead内に指定しておき、 <script language="JavaScript" src="/js/mc.js" type="text/javascript"></script> 本文中のformタグではは下文のようにしてあります。 <form id="form" name="ffform" action="#" method="post"> 送信用のボタンは画像で書き換えていて、ボタンを押すと、Javascriptの方で関数checkformを動かすようにしたいのです <input type="image" src="./img/submit.png" alt="送信" onclick="checkform()"> 実際に押してみても、ただ何も変化がなく、どうすればいいか困っています。どなたか教えてください actionのところにJavascriptを指定したら、Jsそのものを開いてしまいますし、cgiを置こうにも、今あるcgiは Javasprictからさらに値を渡す為にあるcgiだけなのです・・・・・・

    • ベストアンサー
    • HTML
  • エンターキーを押しても送信されません。

    IEで以下のソースで、検索文字を入れてエンターキーを叩いても フォームが送信されません。ちなみに、このHTMLには 他に2つのフォームもあります。IEだと複数フォームのSubmit ボタンがあるとエンターキーで送信できないのでしょうか? <form action="" method="post" name="fm3"> <input type="text" name="search_word" value="" size="56" maxlength="255" > <input type="submit" name="search_submit" value="絞りこみ" > </form> FireFoxだと、フォームの入力値が送信されるのですが・・

  • 送信フォームについて

    HP内に送信フォームを作りたいのですが 本を見ながら <html> <head> </head> <body> <form action="mailto:メールアドレス" method="post" enctype="test/plain"> <input type="text" name="id" size=20> <input type="submit"value="送る"> </form> </body> </html> と、簡単なフォームを書いてみたのですが、どうしても送信できません。 どこがまずいのか、探したのですが自力では間違いが見つけられませんでし た。 詳しい方、どうかご指導お願いします。

    • ベストアンサー
    • HTML
  • JAVASCRIPTでINPUT

    HTMLとJAVASCRIPTとJSPを使ってシステム構築をしております。 --------------- <html> <head> <SCRIPT Language="JavaScript"> <!-- function send() { alert("<input type=text name=name2>"); } // --> </SCRIPT> </head> <body> <form onSubmit="send(); return false;"> <input type=text name=name1> <input type=submit> </form> </body> </html> --------------- 上記のコードでやりたいことは、 submitボタンが押されたときにJAVASCRIPTを呼び出し JAVASCRIPT上で文字を入力し次画面へ送信するような機能を作りたいと思っているのですが、本を見てもなかなか載っていません。 もしかしたらJAVASCRIPTだけではできないかもしれません。 JSPまたはPHPで出来る機能でも良いので教えてください。

  • PHPでフォームからの送信

    PHPでフォームからデータを送信する方法について教えてください。例えばPHPファイルの中に下の様にフォームを作成して、送信ボタンを2つ作ります。一つのボタンをクリックすると全てのフォームの情報が送信されてしまいますが、独立して送信できるようにはできないのでしょうか。簡単にでもできるかできないかを教えていただけましたら、あとは自分でなんとかがんばりますので、どなたか教えていただけれますと幸いです。宜しくお願いします。 <form action="abc.php" method="post"> AAA:<input type="text" name="simei"> BBB:<input type="password" name="pass"> <input type="submit" value="送信"> </form> <form action="abc.php" method="post"> CCC:<input type="text" name="simei"> DDD:<input type="text" name="pass"> <input type="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • selectでのフォーム送信

    下記の質問で別の解決手順を思いついたのですが技術力が不足しているのでどなたか助けてください。 フォームのselectが変更されたときに、そのフォームの内容をcgiファイルに送信するようなスクリプトがどこかにありませんか。具体的には、 <form name="form1" method="get" action="・・・.cgi"> <input type="text" name="text" size=20> <select name="sele" onChange()> <option・・・ <option・・・ </select> </form> といったフォームで、onChange()のなかでform1をsubmitしたのと同じ結果になるようにJavaScriptを書き込みたいのです。 どうかよろしくお願いします。

  • javascriptで取得した値を、FORMで送信する

    いつもお世話になっております。 jspからwindow.openを使い、別ウインドウを表示しました。 別ウインドウでの質問です。 javascriptで前のページ(jsp)の情報を受け取り、それを次のページ(jsp)へFORM(POST)で送りたいのですが、うまくいきません。 ご教授下さい。 <HTML> <HEAD> <script type="text/javascript"> <!-- function sent() { var num = window.opener.document.aaa.number01.value; ここで前ウィンドウの情報を取得しています return num; } function sub() { document.bbb.submit(); } // --> </script> </HEAD> <BODY onload="sub()"> <form name="bbb" METHOD="POST" action="http://okwave.jp"> <input type="hidden" name="timeid" value=""> <input type="hidden" name="number00" value="1"> <input type="hidden" name="number01" value="sent()"> <!--<input type="hidden" name="number01" value="204038054776">--> 当たり前ですが、コメントにしている部分にすると次のページでうまくいきます。 </form> </BODY> </HTML>

  • JSP→JSP フォームチェック

    困っているので助けてください。 まずプログラムの説明をさせてもらいます。 JSPからfromをつかってJSPにフォーム情報を送ります。 プログラムはこんな感じです。 <form action="abcdefg.jsp" method="post"> <input type="hidden" name="abc" value="abc"> <input type="hidden" name="def" value="def"> <input type="checkbox" name="aa" value="aa"> <input type="checkbox" name="bb" value="bb"> <input type="checkbox" name="cc" value="cc"> <input type="submit" value="次へ"> </form> これをabcdefg.jspで受け取る場合 String hidden_abc = request.getParameter("abc"); String hidden_def = request.getParameter("def"); とhiddenは必ず値が入っているのでこれで受け取れるのですが チェックボックスは選択しているかどうかわからないので上の記述では だめなようなのですがどのようなプログラムを書いたらいいのですか? 説明がうまく出来なく申し訳ないです。よろしければ教えてください。

    • ベストアンサー
    • Java
  • javascript フォームについて

    javascriptでフォームを作ったのですが、複数フォームの空白をチェックするにはどのようなプログラムにすればよろしいでしょうか? onsubmit="return chk1(this)でフォーム送信が押されたときにチェックを行おうと考えているのですが そのときのchk()の中身やif文の条件がわからないのです。 どのようにすれば上手くいくでしょうか? 回答よろしくお願いします。 ソースは以下のとおりです。 <script language="javascript"> function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } function chk1(frm){ if(frm.elements["txt1"].value==""){ alert("解答欄に空白があります"); /* FALSEを返してフォームは送信しない */ return false; }else{ /* TRUEを返してフォーム送信 */ return true; } } </script> <form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="text/plain"> <p>問1</p> <p> (1)<input type="text" name="kaitouran11" size="20"> (2)<input type="text" name="kaitouran12" size="20"> (3)<input type="text" name="kaitouran13" size="20"> (4)<input type="text" name="kaitouran14" size="20"> </p> </form> <form name="nform2" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain"> <p>問2</p> <p> (1)<input type="text" name="kaitouran21" size="20"> (2)<input type="text" name="kaitouran22" size="20"> (3)<input type="text" name="kaitouran23" size="20"> (4)<input type="text" name="kaitouran24" size="20"> </p> </form> <form name="nform3" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain"> <p>問3</p> <p> (1)<input type="text" name="kaitouran31" size="20"> (2)<input type="text" name="kaitouran32" size="20"> (3)<input type="text" name="kaitouran33" size="20"> (4)<input type="text" name="kaitouran34" size="20"> </p> </form> <input type="button" value="送信" onClick="send()" onsubmit="return chk1(this)">

このQ&Aのポイント
  • タブレットの電源は入るが、画面が真っ黒な状態で表示されない問題が発生しています。WiFiの接続機器管理には表示されているため、起動はできているようですが、画面が表示されないため困っています。この問題の対処方法について教えてください。
  • タブレットを起動すると、電源は入りますが、画面が真っ黒のままで何も表示されません。WiFiの接続機器管理にはタブレットが表示されているため、起動はできているものの、画面が正常に表示されない状態です。この問題に対する解決策を教えてください。
  • タブレットの電源を長押しして起動すると、画面が真っ黒のままで何も表示されません。WiFiの接続機器管理にはタブレットが表示されているため、起動はできているようですが、画面が表示されない問題が発生しています。この問題の対処方法についてアドバイスをお願いします。
回答を見る

専門家に質問してみよう