- - PR -
JAVA SCRIPT
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-10-07 13:37
自分が理解できていないものを人に説明して、理解してもらうのは無理だと思うのですが・・・。この場合、既存システムが「何をどのように返すか」をきちんと把握していないと、後で困ることがたくさん出てくると思うのです。 質問は複数あったのですが、、、 1.「テキストボックスに入力されるべき値 − インデックス」という表があるということでしょうか? →これがわからない、ということですね? 2.そして、{自動的に値が計算される}のは、入力に対するインデックス値なのでしょうか?つまり、入力した値がすでに登録されているならマイナス、登録されていなかったらプラスの値としてインデックスが返ってくる、ということでしょうか? →これをきちんと押さえていないと、とても困ると思うのですが、如何? 3.zzzさんの目標は「ユーザの入力値によって既存システムから返ってくる値による制御」ですか? →{<INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE="<%=InventoryOut[i]%>">}より、{zzzさんの目標は「ユーザの入力値によって既存システムから返ってくる値による制御」}と判断します。 JavaScriptは詳しくないのですが、{<%=InventoryOut[i]%>}は、どこかで定義しているInventoryOut配列のi番目を埋め込む、ですよね。InventoryOut配列が既存システムからの戻り値として、iはどうやって決まりますか?配列で返ってきていても、このソースでは、テキストボックスに表示/設定できる値は1個ですよね?であれば、inputタグのonchangeイベントに、takuさんがご提示されたソースのdoUpdateメソッドを関連付ければいけると思いますが??? 逆に、1つだけでなく複数である場合、「正と負」という相反する値が設定された場合、どうしますか? | ||||||||
|
投稿日時: 2003-10-07 14:27
こんにちわ。いつもお世話になっております。
INPUTのところですが、VALUEのところはPHPで書いているように思えるのですが もしかして
のようなことをおっしゃられているのでしょうか? このようにしてデータの個数に応じてテキストボックスの数が変わる場合に、 チェックするテキストボックスの個数を動的に変えたいということでしょうか? #私にはそう読み取れたのですが… もしそうであっても、takuさんの提示されたコードを 応用してあげればできるような気がします。 #コードを修正 #JSPを知らない私にはPHPに似てるなぁとしか思えませんでした #<%=〜〜%>の時点でおかしいなぁとは思ったのですが……。 #的外れな回答をしてスレ汚し失礼しました。 [ メッセージ編集済み 編集者: ゆう 編集日時 2003-10-07 14:33 ] [ メッセージ編集済み 編集者: ゆう 編集日時 2003-10-07 16:42 ] | ||||||||
|
投稿日時: 2003-10-07 14:43
ども、ほむらです。
こんな感じですか?応用で何とかなりません? -------
| ||||||||
|
投稿日時: 2003-10-07 16:23
書き込みをしてくださった、皆さんどうもありがとうございます。
自分の書き方(伝え方)が不味かったために、色々と勘違いを与えてしまったようで、すいませんでした。自分で書くのも何ですが、やりたいことはいたって簡単です。 それは現在システムの画面はJSPで作成されています。そのJSPに以下のようなタグが書かれております。 <INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE="<%=InventoryOut[i]%>"> この時、このテキストの値をチェックするためのjavaScriptを作成したいのです。 通常、一つのテキストボックスでの場合はtakuさんに教えて頂いたとおり次のようなスクリプトを作成すると思います。 <script language="JavaScript"> <!-- function doUpdate(){ if(parseInt(document.form1.inventory.value)<0) return; document.form1.submit(); } --> </script> </head> <body> <form name="form1"> <input type="text" name="inventory"> ここまではわかるのですが、これが先のように配列要素になると同じように実行できない状況です。 これを、takuさんの書かれていたように連結して <input type="text" name="param"><br> <input type="text" name="param"> 書くことは、今回のシステムではできませんでした。 そして、Jittaさんが書かれていたタグの中にイベントを書くという方法も試してみましたが実現できませんでした。 わかる方からすればものすごく単純でつまらない処理でしょうが、少し時間のこともあり とても困っております。 以上、アドバイスを待っております。 | ||||||||
|
投稿日時: 2003-10-07 16:38
え・・・。JSPが ><INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE="<%=InventoryOut[i]%>"> ということは、HTMLとして展開されると <INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE=""> ・ ・ <INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE=""> となるだけですよね? これって私のサンプルと同じですよ。 JSPがどうこうじゃなくて、 展開されたHTMLがどうなっているかです。 | ||||||||
|
投稿日時: 2003-10-07 16:42
ほむらさんがかかれているように
とやればいいはずです ちなみに件数が1件の時はLengthがないので失敗します・・・ | ||||||||
|
投稿日時: 2003-10-07 17:14
ども、ほむらです。
経緯とかやりたい事はおおむねわかるので良いのですが 結局その中で何が原因で何が出来ないのですか? あとシステムとしてやってはいけない(都合で出来ない)ことはなんですか? あとは、状況の説明よりも内容の説明がほしいところです。 ------- 重複するIDは使用が出来ないようなのでDIVを使用して 自動更新する部分を全て処理する形に修正しました。 以下、差分です
#書き忘れ。。 if( ele.children(i).tabindex == undefined ){ } というのが必要になるかも [ メッセージ編集済み 編集者: ほむら 編集日時 2003-10-07 17:21 ] | ||||||||
|
投稿日時: 2003-10-07 18:03
やり方は、多々あるとは思いますが、簡単な方法を以下に記述します。
※未実行なので、間違っていたらごめんなさい。 1.一覧の項目を取得するのによくやる手は、TEXTの要素に全て別名をつけてしまう方法。 このあたりが一番簡単でブラウザの依存がないと思います。 <% int cnt = 5; %> <script type="text/javascript"> <!-- function aaa() { for(i=0; i<<%= cnt %> ; i++) { /* こんな感じに取得する eval("document.forms[0].a" + i).value; */ } } --> </script> <!-- 一覧のライン数(この値を元にserver側でも、nameを動的に作成して取得する。) --> <input type="hidden" name="cnt" value="<%= cnt %>"> <% for (int i=0; i<cnt; i++) { %> <input type="text" name="a<%= i %>" value="<%= i %>"> <% } %> 2.要素を配列として扱う。 (サーバーでの取得方法(多分順序は保障されないはずです。)や、 javaScriptでのオブジェクト/配列の判定等々が発生します。) <script type="text/javascript"> <!-- function aaa() { if (document.forms[0].a.tyep==null) { for(i=0; i<ocument.forms[0].a.length ; i++) { /* こんな感じに取得する document.forms[0].a[i].value; */ } } else { document.forms[0].a.value; } } --> </script> <% for (int i=0; i<cnt; i++) { %> <input type="text" name="a" value="<%= i %>"> <% } %> HTMLに詳しければ、ほむらさんのソースをお勧めします。 [ メッセージ編集済み 編集者: eiji 編集日時 2003-10-07 18:03 ] | ||||||||
