- PR -

JAVA SCRIPT

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-10-07 09:46
本件は少しスレッドの内容から離れてしまいますが、解決方法がわからず困っております。皆さんの知恵を拝借したいと思い投稿いたしますので、宜しくお願い致します。
現在、私はある画面の入力値チェックで困っております。その画面は少し特殊で入力できるテキストボックスがあり、それを変更したりすると自動的に在庫などの個数が変わるというものです。私はJAVA SCRIPTで制御をしようとしているのですがその時にどうしても既存システム上での制御との絡みでうまくいきません。
そこで、この画面上の項目は全てマイナス値は制御するという方法を考えているのですが、そのためのスクリプトがわかりません。
どなたかのアドバイスをお願い致します。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-07 10:09
引用:

zzzさんの書き込み (2003-10-07 09:46) より:
本件は少しスレッドの内容から離れてしまいますが、解決方法がわからず困っております。皆さんの知恵を拝借したいと思い投稿いたしますので、宜しくお願い致します。
現在、私はある画面の入力値チェックで困っております。その画面は少し特殊で入力できるテキストボックスがあり、それを変更したりすると自動的に在庫などの個数が変わるというものです。私はJAVA SCRIPTで制御をしようとしているのですがその時にどうしても既存システム上での制御との絡みでうまくいきません。


 どういう理由で上手くいかないのか具体的に書かないと駄目です。

引用:

そこで、この画面上の項目は全てマイナス値は制御するという方法を考えているのですが、そのためのスクリプトがわかりません。
どなたかのアドバイスをお願い致します。


 マイナス値は制御するとはどういうことでしょうか?
マイナスかどうか判定したいだけ?
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-10-07 10:20
takuさん、早速の書き込みありがとうございます。
まず、上手くいかない理由ですが既存のシステムは既にテーブルの中の入力のテキストボックスが決まっています。そして、それに伴いindexが割り当てられているようです。そこで、値を入力するとそれ以外のindexが割り当てられていないところは自動的に値が計算されるという仕組みです。わかりますでしょうか?そのため、自動計算されるところが例えマイナス値であっても表示をされてしまうというわけです。
そして、お客さんの要望ではそうしたマイナス値が含まれているときには更新ボタンを不可としてほしいと事です。
以上、現状のシステムはこんな感じであると思います。これに対する制御方法に対してアドバイスをお願い致します。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-10-07 10:35
ども、ほむらです。
個人的には、どういった現象が発生して
何が不都合なのかを知りたいですね。
-----------------------
僕の想像するものとしては。。
テキストボックスに入力した数字?を元に他のテキストボックスにある
在庫の数を自動的に計算しているけど
この在庫の数が負の数になっても正常動作してしまうので
在庫に負の数が含まれるときは更新のボタンを押下できなくしたいということですか?

もしこんな形であれば、デフォルトは更新ボタンを有効にしておいて
在庫を計算する時点で負の数がでたら
無効にしてあげる形にすればよいとおもうのですが。。。

#ってこれじゃぁそのままですよね^^;;;;;;;
#もしかしてサーバサイドでなにかしてます?
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-07 11:06
 こんなのですかね・・・。

//サンプル
<html>
<head>
<title>サンプル</title>
<script language="JavaScript">
<!--
function doUpdate(){
if(parseInt(document.form1.param.value)<0) return;

document.form1.submit();
}
-->
</script>
</head>
<body>
<form name="form1">
<input type="text" name="param">
<input type="button" value="更新" onClick="doUpdate()">
</form>
</body>
</html>

[ メッセージ編集済み 編集者: taku 編集日時 2003-10-07 11:06 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-07 11:20
引用:

zzzさんの書き込み (2003-10-07 10:20) より:
既存のシステムは既にテーブルの中の入力のテキストボックスが決まっています。そして、それに伴いindexが割り当てられているようです。そこで、値を入力するとそれ以外のindexが割り当てられていないところは自動的に値が計算されるという仕組みです。わかりますでしょうか?そのため、自動計算されるところが例えマイナス値であっても表示をされてしまうというわけです。


 まず、{既存のシステムは既にテーブルの中の入力のテキストボックスが決まっています}の意味がわからないのですが、

テキストボックスに入力されるべき値 − インデックス

という表があるということでしょうか?

そして、{自動的に値が計算される}のは、入力に対するインデックス値なのでしょうか?つまり、入力した値がすでに登録されているならマイナス、登録されていなかったらプラスの値としてインデックスが返ってくる、ということでしょうか?


 「既存のシステム」と、それを利用しようとしている(つまり今作ろうとしている)システムの関わりが理解できません。

 で、takuさんのサンプルだと、「ユーザの入力値によって制御」ですが、zzzさんの目標は「ユーザの入力値によって既存システムから返ってくる値による制御」のように思うのですが、どっち???
未記入
常連さん
会議室デビュー日: 2003/08/28
投稿数: 28
投稿日時: 2003-10-07 12:11
ほむらさん、takuさん、Jittaさん 書き込みありがとうございます。
まずJittaさんに対するお答えですが、恥ずかしながら色々と調べているのですが前任者の消息が不明とのことで確認できない状況です。
しかし、あるテーブルがありその中で連続してindexがつけられていないといった感じです。(力不足でここまでしか、ソースから読み取れません。すみません)
それで、takuさんからのサンプルで何とか動きそうなのですが、このテキストボックスは配列のような感じのものでして、一つの値を出すのには有効なのですが、例えば一年単位といったように複数の値を制御できません。(いっている事は理解できますでしょうか?)
takuさんは先程<input type="text" name="param">のように一つの値を想定されていたと思いますが、自分のやりたいこととしましては
<INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE="<%=InventoryOut[i]%>">
のような形です。
これを、制御するJavaScriptがわかる方からのアドバイスをお待ちしております。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-07 13:35
引用:

zzzさんの書き込み (2003-10-07 12:11) より:
ほむらさん、takuさん、Jittaさん 書き込みありがとうございます。
まずJittaさんに対するお答えですが、恥ずかしながら色々と調べているのですが前任者の消息が不明とのことで確認できない状況です。


 よくある話ですね・・・。

引用:

それで、takuさんからのサンプルで何とか動きそうなのですが、このテキストボックスは配列のような感じのものでして、一つの値を出すのには有効なのですが、例えば一年単位といったように複数の値を制御できません。(いっている事は理解できますでしょうか?)
takuさんは先程<input type="text" name="param">のように一つの値を想定されていたと思いますが、自分のやりたいこととしましては
<INPUT TYPE="text" SIZE="3" NAME="INVENTORY" VALUE="<%=InventoryOut[i]%>">
のような形です。
これを、制御するJavaScriptがわかる方からのアドバイスをお待ちしております。


 じゃあこんなかな?
<html>
<head>
<title>サンプル</title>
<script language="JavaScript">
<!--
function doUpdate(){
if(parseInt(document.form1.param[0].value)<0) return false;
if(parseInt(document.form1.param[1].value)<0) return false;
else return true;
}
-->
</script>
</head>
<body>
<form name="form1" onSubmit="return doUpdate()">
<input type="text" name="param"><br>
<input type="text" name="param">
<input type="submit" value="更新">
</form>
</body>
</html>

スキルアップ/キャリアアップ(JOB@IT)