JSPを作成しているのですが、javascirpt構文の方が
多いため、こちらで質問をさせて頂きます。
javascript, html で ログインページを作成しています。
<%@ page contentType="text/html;charset=Shift_JIS" %>
<script type="text/javascript" language="javascript"><!--
function Submit(name,pass,f){
if(name == null){
document.getElementBy(f).action="http://www.yahoo.co.jp";
document.getElementById(f).submit();
}else{
document.getElementById(f).action="http://www.google.co.jp";
document.getElementById(f).submit();
}
}
//--></script>
<form action="login.jsp" method="post" NAME="f1">
<table border="1" width="30%">
<tr>
<td>ユーザーID:</td>
<td><input type="text" name="admin" size="25" value=""></td>
</tr>
<tr>
<td>パスワード:</td>
<td><input type="password" password="password" value=""></td>
</tr>
</table>
<%--- これが悪いのかも!? --- %>
<% String name = request.getParameter("name");
String password= request.getParameter("password");
%>
<input type="submit" value="ログイン" onClick="Submit('name','password','f1');">
</form>
</body>
</html>
ログインボタンをクリックして、name,password,f1(formの名前)を
function のSubmitに値を渡したいのですが、nullが渡されてしまいます。
テキストボックスで入力された値を渡したいのですが、
javascript,htmlの知識が乏しいため、どこがおかしいのかわかりません。
もしわかる方が居ましたら、よろしくお願いたします。
No.2ベストアンサー
- 回答日時:
> admin (入力された値)
> password (入力された値)
これは期待するとおりに出力され、期待するとおりの表示ですか?
JSPをされているならname属性やid属性についてはご存じと思いますが、
両方を明記しておいたほうがいいです。
モダンブラウザは片方が書かれていれば、もう片方を同じ内容で補完しますが、nameのみの場合idを補完しないブラウザもあります(getElementByIdで取得出来ません)し、
idのみの場合、古いブラウザでnameを補完せずにvalueだけを送信する物もあります。
> <td><input type="password" password="password" value=""></td>
この辺は直されたようですが。。。
質問の内容と関係ないところでFAQでもありますが、一応解説しておきます。
フォームの内容をチェックするタイミングですが、
> <input type="submit" value="ログイン" onClick="Submit('name','password','f1');">
このタイミングでチェックを始めると、テキストフィールドやパスワードフィールドでエンターキー(リターンキー)を押した場合、
submitボタンは押されていませんから、関数は呼び出されません。
<form (中略) onsubmit="Submit()">
というタイミングでチェックするようにしてください。
本題ですが、あらかじめお断りしますが、ヒントだけです。
getElementByIdは知っていらっしゃるようですから、
フォームエレメント(<input type="text">など)の値(.value)を取得するには、どうすればいいか、わかりますよね?(リファランスに書かれているはずです)
あとはSubmit()への引数やdocument.getElementByIdの引数をどの様に指定すればいいかだけだと思います。
お返事ありがとうございます。javascriptの勉強を
してもう一度取り組んでみたいと思います。
お答え頂きありがとうございました。
No.1
- 回答日時:
JSPの部分が何をしているわイマイチわかりにくいので、
ブラウザでアクセスして「ソースを表示」した内容を提示していただけますか?
この回答への補足
お返事ありがとうございます。
これがソースです。間違いがあったので変更はしました。
<script type="text/javascript" language="javascript"><!--
function Submit(name,pass,f){
//if(name != null){
//document.getElementById(f).action="http://www.yahoo.co.jp";
//document.getElementById(f).submit();
//}else if( name == null){
//document.getElementById(f).action="http://www.excite.co.jp";
//document.getElementById(f).submit();
//}
}
//--></script>
</head>
<form action="login.jsp" method="post" NAME="f1">
<table border="1" width="30%">
<tr>
<td>ユーザーID:</td>
<td><input type="text" name="admin" size="25" value=""></td>
</tr>
<tr>
<td>パスワード:</td>
<td><input type="password" name="password" value=""></td>
</tr>
</table>
admin (入力された値)
password (入力された値)
<input type="submit" value="ログイン" onClick="Submit('name','password','f1');">
</form>
</body>
</html>
テキストボックスで入力された値を、name , passwordの変数で
受け取り、それをonSubmit()中に渡そうと思っています。
name, password を渡す事が出来てないのはわかりますが
どう解決したらいいのかわかりません。
ちなみにテキストボックスに名前を入れても、入れなくても
yahooが表示されてしまいます。 よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
JavaScriptの「.querySelectorA...
-
JavaScriptでリストボックスに...
-
onClickで足し算をして答えを出...
-
formで項目を連結したい
-
画面の2重起動をチェックする...
-
Formのシリアライズができない
-
jQueryで合計を出したい
-
Javascriptの電卓で最初の何も...
-
return trueとreturn falseの用...
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
-
【javascript・PHP】プルダウン...
-
javaScriptの変数をJavaの変数...
-
プルダウン 項目が多いので先頭...
-
HTMLコンボボックスへの項目追加
-
同名ボタンのクリック時要素番...
-
連動プルダウンのclonenode
-
slickのレスポンシブ > center...
-
複数のプルダウンを1つにまとめ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
JavaScriptの「.querySelectorA...
-
formで項目を連結したい
-
Formのシリアライズができない
-
画面表示とともにtableの指定の...
-
文字数を数える際に空白、改行...
-
クリックしたラジオボタンの行...
-
ラジオボタンを一括で操作する...
-
画面の2重起動をチェックする...
-
ラジオボタンとテキストボック...
-
Javascriptの電卓で最初の何も...
-
入力チェックの外部スクリプト...
-
JavaScriptによる自動計算フォーム
-
複数のselect値で1つも選択され...
-
javascriptで表(テーブル)の自...
-
jQueryで合計を出したい
-
localStorageでのcheckbox制御
-
JavaScriptで、コピーボタンを...
-
Javascriptで自動的に計算する...
-
WEBフォーム(asp)から画像デ...
おすすめ情報