HTMLのフォームに入力されたテキストフィールドの値より処理を変化させる
ロジックを作ろうと下記のようにプログラムしました。
テキストフィールドに何か入力して送信した場合は、elseの処理を正常に行ってくれるのですが、
未入力でsubmitした場合だと、処理が止まってブラウザ上には真っ白な画面しか表示されません。
やはり判定文が悪いのでしょうか?
未入力のテキストフィールドの判定方法を教えてください。

-----------------------------------------------------
String tf1 = request.getParameter("text1");
String tf2 = request.getParameter("text2");

if((tf1 == null) || (tf2 == null)) {
 HttpSession session = request.getSession();
 session.setAttribute("errmessage", "未入力の項目があります。");

 RequestDispatcher dispatcher
    = request.getRequestDispatcher("/err.jsp");
 dispatcher.forward(request, response);
}
else {
 //テキストフィールドに何かが入力されている場合の処理
}

このQ&Aに関連する最新のQ&A

A 回答 (1件)

空白の文字列が設定されているはずなので、



if (tf1 == null || tf1.equals("") || tf2 == null || tf2.equals("")) {
  …
}

とした方が良いでしょう。tf1 == null は、フォームの方の記述を間違う
可能性もあるので、念の為残しておきましょう。
    • good
    • 1
この回答へのお礼

出来ました!

(空の)文字列と照らし合わせるときは"equals("")"を
使用すればよかったんですね。

頭の中のもやもやがパッと晴れた気分です!
どうもありがとうございました。

お礼日時:2001/09/13 18:20

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qノートパソコン本体のキーボード入力がおかしい。

日立 FLORA 270W PC8NB2を貰ったのですが、キーボードの配列がおかしかったり、入力できなくなったりします。マウスは普通に動くし、キーボードを外付けでつないでもちゃんと入力できます。ノート本体のキーボードのみおかしいのです。
これは故障なのでしょうか?

Aベストアンサー

こちらをお試し下さい
http://121ware.com/qasearch/1007/app/nec.jsp?003474

Qrequest.getParameter()

以下のような複数選択可能なメニューを用意しました。

<form action=...>
<select name="opt" size=1 multiple>
<option value>first
<option value>second
<option value>third
</select><p>
<input type="submit">

firstとsecondを選択してボタンを押した時に、
servletのプログラムの中で、
String option=request.getParameter("opt");
と実行したら、二つのオプション(first,second)を取ってきてくれるんですか?
それとも、配列で取得しないとだめなんですか?

Aベストアンサー

参考URLに getParameter() メソッドの説明のページを紹介しておきます。
そこから一分を引用すると、

> If you use this method with a multivalued parameter, the value returned is equal to the first value in the array returned by getParameterValues.

と、言うことですので、そういう場合には、getParameterValues() メソッドを使いましょう。
多分、以下のことが質問に書かれていますから、分かっているのだと思いますが。

> それとも、配列で取得しないとだめなんですか?

参考URL:http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Qキーボード入力がおかしい

キーボード入力の際、vを押すとvb nを押すとnm のように
隣のキーが一緒に入力されてしまいます。
他、スペースキーがエンターの役割をしていたりと非常に困っています。

確認したこと・試したこと

キー入力は日本語になっている。
他のキーボードを接続し、試してみても同じ症状。
OSを新規でインストールをしてもなおらない。

他のキーボードで試してみて同じ症状だったので、キーボードの故障は
考えにくいのかなと感じていますが、何か原因になりうる可能性がある
ことはあるのでしょうか?

Aベストアンサー

こんにちは。

・他のキーボードも同じ
・OSを新規でインストールしても治らない

という事であれば、マザーボードが原因ではないでしょうか?
USBキーボードで試して、正常に入力できるようならば、
PS/2ポートの異常かと思います。

それか、OSのCDからブートして回復コンソールでの入力に
異常がなければ、マザーボードではないと思うので、
もしくはキーボードドライバが原因・・・?
他のキーボードドライバを試してみてください。

ここまでやって無理なら、私は修理に出します。
保証期間内であれば、購入店やメーカーで対処してもらった方がいいと思います。

Qテキストフィールドに入力した内容を別のフィールドにコピー

入力支援でjavascriptで
使用したいとかんがえています。

テキストフィールドA、B
があり
Aに入力した内容がBにも反映されるように
したいのです(Aの内容がBにコピーされる?
と書いた方がわかりやすいかも)

ただ、反映したBは、修正して別の内容を
入力することがあります。
A=B、だけでなくAとBの内容が全く違うこともあります。

このようなことは可能でしょうか
ご存知の方お力をおかしください

Aベストアンサー

Aを入力するとBが自動的にAと同じにしたいなら以下のようにします。
<script language="javascript">
function modifyFunc(obj,targetName){
var target=obj.form.elements[targetName];
target.value=obj.value;
}
</script>
<form>
A:<input type="input" name="A" onKeyup="modifyFunc(this,'B')"><br>
B:<input type="input" name="B">
</form>

この場合Aを記入したら、Bが自動で更新になり、Bのほうを入力可能です。
もちろんAを編集したら自動でBの値はAにあっちゃいますけど、
AとBの整合性をどうとりたいか書いてないので、この程度が回答できる
限界かと。

Qキーボード入力がおかしい。

WinXPの自作PCを使用していますが、ここ数日、表題のとおりキーボード入力が
おかしくなる事があります。再起動すれば治るのですが、原因を知りたくて投稿しました。

症状:半角アルファベットならば正確に入力できるのだが、ローマ字入力で入力すると、
母音の入力がおかしくなっています。(例)「a」が「b」で、「I」が「C」で入力されます。 したがって、
「ちゃ」と入力する時に、「T」「Y」「A」の順で打ち込むが、画面上では「T」「Y」「B」となって
しまいます。今まで経験した事のない症状なので、教えていただけますでしょうか。

OSはXP(SP3)、ATOK2009を使用しています。キーボードは汎用の物を使っており、
再起動すると治る事からキーボード不良ではないと考えます。仕様で追加情報が必要であれば
補足欄に追加していきます。

Aベストアンサー

補足の返事です

英語のキーボードを削除して再起動後も出てくるなら
手動で設定を変更する必要があるです。

又はレジストリーの書き換え


ま、手動の方が安全なんで一応説明です。。

1 デバイスからキーボードを選んでドライバーの更新
2 検索画面は[今回は接続しません]にチェック入れて次へ
3 一覧または特定の場所からインストールにチェックを入れて次へ
4 検索しないでインストールするドライバーを選択にチェックを入れ次へ
5 互換性のあるハードウェアーの表示(だったけ?)のチェックを外す
6 画面左で標準キーボードを選択
7 画面右側で日本語PS2/キーボード(106/109キーCtr+英数)を選択
8 警告が出るので(ふざけるな!)と言って無視して[はい]を押す(一応治るようにとお祈りしておく)
9 ドライバーのインストールが開始され終了後[完了]をクリックしておしまい
10 再起動の要求が出るのでプログラムを終了して再起動
11 再起動後デバイスマネージャーを確認する(日本語#$%&%$#であればOK)
12以上で復帰できない場合はスクリーンキーボードでは正常か確認し正常ならキーボードの故障もあり得ます
13 USB接続なら違うポートで拾ってみる事も必要です、

14 自作PCだからこんなこと書いても無駄そうですね、この位わかっとるって言われそうです)


長くてすいませんが通常はこれで治ると思う、

補足の返事です

英語のキーボードを削除して再起動後も出てくるなら
手動で設定を変更する必要があるです。

又はレジストリーの書き換え


ま、手動の方が安全なんで一応説明です。。

1 デバイスからキーボードを選んでドライバーの更新
2 検索画面は[今回は接続しません]にチェック入れて次へ
3 一覧または特定の場所からインストールにチェックを入れて次へ
4 検索しないでインストールするドライバーを選択にチェックを入れ次へ
5 互換性のあるハードウェアーの表示(だったけ?)のチェックを外...続きを読む

Q文字列をテキストフィールドに差し替える方法

こんばんは。

以下のような処理をJavaScriptで実現したいと思っているのですが、
うまく出来ません。

1.HTMLファイル上に「あいうえお」という文字列があったとする。
2.文字列のとなりのボタンを押すと、「あいうえお」があった場所がテキストフィールドになって、
「あいうえお」という文字が入力済みで編集可能になる。
3.もう一度ボタンを押すと、テキストフィールドが元通りの普通も文字列に戻る。


以前、どこかのサイトでこのような動きを見たので、
簡単に出来るのかな、と思っていたのですが、、、

お詳しい方がいらっしゃいましたら、知恵を貸していただけないでしょうか??
宜しくおねがいします。

Aベストアンサー

かなり適当ですが、こんな感じでどうですか。。

<html>
<head>
<script type="text/javascript">
function changeField() {
var sample = document.getElementById("sample");
var sample_value = sample.innerHTML;

sample.innerHTML = "<input type='text' id='txt_sample' value='" + sample_value + "' />";
document.getElementById("btn").innerHTML = "<input type='button' value='innerHTML化' onclick='changeText()' />";
}

function changeText() {
var txt_sample_value = document.getElementById("txt_sample").value;
document.getElementById("sample").innerHTML = txt_sample_value;

document.getElementById("btn").innerHTML ="<input type='button' value='テキスト化' onclick='changeField()' />"
}
</script>
</head>
<body>
<span id="sample">あいうえお</span>
<span id="btn"><input type="button" value="テキスト化" onclick="changeField()" /></span>
</body>
</html>

かなり適当ですが、こんな感じでどうですか。。

<html>
<head>
<script type="text/javascript">
function changeField() {
var sample = document.getElementById("sample");
var sample_value = sample.innerHTML;

sample.innerHTML = "<input type='text' id='txt_sample' value='" + sample_value + "' />";
document.getElementById("btn").innerHTML = "<input type='button' value='innerHTML化' onclick='changeText()' />";
}

function changeText() {
var txt_sample_value = documen...続きを読む

QMacのキーボード入力がおかしいのですが、

マッキントッシュの環境で、
これまでは正常だったキーボードの入力が座席移動のため、コードを抜き差しした後おかしくなってしまいました。全ての入力ではないのですが、

以前(正常時)   現在(おかしい)
・半角/全角幹事キー → ‘ 
・&         → ^
・‘         → &
・(         → *
・)         →(
・*         → ”   

等、他の記号もずれています。
ちなみにOSは 8.6です修正のしかたが
判るかた教えて下さい。

Aベストアンサー

>G3ブルーホワイトで使用してました、
>APPLE USB KEYBOARD - JISを使用していました、
これが問題だったようです、
>APPLE PRO KEYBOARD - JIS(G4 1250mhz用)に変えたらできました。

なるほど。機種がわからなかったので何でしたが最近の機種はそれに付属しているキーボードより古いものはご認識されるんですがそれが原因だったんですね。

試しにうちのマックの1.25G DUALに以前のマックのキーボードを指したらやはりどんなことをしてもご認識しました。

同じ機種同士での移動と勘違いしていたのが早合点でしたね

Qテキストフィールドの入力規則(数値チェック)

http://oshiete1.goo.ne.jp/kotaeru.php3?q=143226
を参考にさせていただいて、以下のコードで実行してみました。

===============================
<BODY>
<FORM NAME="f" ACTION="UPDATE" METHOD="POST" TARGET="FRAME_D"
onSubmit="return conf();">

<INPUT TYPE="TEXT" NAME="FM_KINGAKU"
onKeyDown="return keyCheck(event.keyCode);" >

<SCRIPT TYPE="text/javascript" SRC="./JS.SOURCE"></SCRIPT>
<SCRIPT TYPE="text/javascript">
<!--
function keyCheck(keyCodes){
if((keyCodes >= 49 && keyCodes <= 57) || (keyCodes >= 96 && keyCodes <= 105) || keyCodes == 46 || keyCodes == 8)
return true;
else return false;
}
function conf(WK_LINEINDEX){
/* 省略 */
}
// -->
</SCRIPT>

</FORM>
</BODY>
===============================

しかし、数値以外のキーを押しても何事もなかったかのように
入力できてしまうのです。
前の質問者のlovelypoohさんは解決されたみたいなんですが、
いったい何が違うのでしょう?
onSubmit="return conf();" ってのと
onKeyDown="return keyCheck(event.keyCode);" ってのが
同じFORMタグの中にある、とか関係あるのでしょうか?

http://oshiete1.goo.ne.jp/kotaeru.php3?q=143226
を参考にさせていただいて、以下のコードで実行してみました。

===============================
<BODY>
<FORM NAME="f" ACTION="UPDATE" METHOD="POST" TARGET="FRAME_D"
onSubmit="return conf();">

<INPUT TYPE="TEXT" NAME="FM_KINGAKU"
onKeyDown="return keyCheck(event.keyCode);" >

<SCRIPT TYPE="text/javascript" SRC="./JS.SOURCE"></SCRIPT>
<SCRIPT TYPE="text/javascript">
<!--
function keyCheck(keyCodes){
if((keyCodes >...続きを読む

Aベストアンサー

入力をなかったことにするのは event.returnValue=false です。

<INPUT onKeyPress=keyCheck()>

<SCRIPT TYPE="text/javascript">
function keyCheck(){
if(event.keyCode>57 || event.keyCode<48)
event.returnValue=false;
}
</SCRIPT>

QIEとOEの時のキーボード入力がおかしい

こんにちは、キーボード入力がおかしいので質問させてください。Internet ExpolorerとOutlook Expressの時だけキーボードの入力が変なのです。@をおすと [ と表示されます。英語の101キーボードになっているようです。しかし、他のソフトではWordやメモ帳等は正常に入力できるのです。デバイスマネジャーも日本語106/109になっています。
過去ログを見ましたが、IEだけとというのは見つけられませんでした。どなたか お助けください。

Aベストアンサー

これでもいいかも、
スタート→「ファイル名を指定して実行」をクリック
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411" /v "Layout File" /d "KBDJPN.DLL" /t REG_SZ /f
(一行です。コピペしてね)
と入力して「OK」をクリック

その後、Windowsを再起動させます。

Qテキストフィールド入力文字列を別の場所に表示

テキストフィールドに入力した文字列が、ボタンクリック時に
同じ画面上のある領域に表示される様な仕組みを考えています。
この、ある領域がテキストフィールドである場合はJavaScriptを使用して
簡単に出来る事は確認済みなのですが、この表示文字列は変更されたくありません。
そこで、テキストフィールドの入力禁止措置を施し、これもOKなのですが、もっと単純に
HTMLとして通常の表示文字列(テキストフィールド等ではなく)として
表示したいのです。
1)VisualBasicでいうところのlabelコントロールみたいな入力不可の
  オブジェクトはHTMLとしてありますか?
  (色々探したけど無いですよね?多分。)
2)この様な事を実現する場合、HTMLとJavaScriptではどの様に行うのですか?

以上、よろしくお願いします。

Aベストアンサー

http://tohoho.wakusei.ne.jp/js/dom.htm
が参考になるかな?

IE限定ならinnerHTML(?)とかで実現できるけどIE限定だからやっぱり上のDOMの方が良いかと。

参考URL:http://tohoho.wakusei.ne.jp/js/dom.htm


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報