- - PR -
JavascriptでGridの値がうまく取れない
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-20 15:01
.Net2005を使用しています。
JavaScript初心者です。 宜しくお願いします。 gridの値を取得して列ごとに計算したいと思っています。 イメージは 数量 * 単価 = 金額です。 1stStepとして数量が変わったら金額を計算しようと思ってます。 ですが、NaNやundefinedがでてうまくいきません。 以下、Javascript追加及びscriptのソースです。 <VB> txtQuantity.Attributes.Add("onKeyUp", "javascript:QuantityChange(" & txtQuantity.NamingContainer.ClientID & "_txtQuantity," & lblUnitPrice.NamingContainer.ClientID & "_lblUnitPrice," & txtAmount.NamingContainer.ClientID & "_txtAmount)") <javascript> function QuantityChange(field,field2,field3) { var s = FormatCurDel(parseInt(field2.value)); var p = (parseInt(field.value)) * s; field3.value = p; return true; } 試しにラベルのアラートを出してもundefinedになってしまいました。 <VB> txtQuantity.Attributes.Add("onKeyUp", "javascript:alart_test(" & lblUnitPrice.NamingContainer.ClientID & "_lblUnitPrice)") <javascript> function alart_test(field){ if(confirm(field.value) == false) { return false; } return true; } 凄い基本的な事かもしれませんがご教授下さい。 [ メッセージ編集済み 編集者: fruity 編集日時 2007-04-20 15:03 ] [ メッセージ編集済み 編集者: fruity 編集日時 2007-04-20 15:04 ] | ||||
|
投稿日時: 2007-04-20 15:15
Javascript で悩んだときはまずは静的な HTML で動作を確認するのがよいと思います。
二つ目の例を見ると関数にわたっているのは コントロール ではなく ただの文字列のように見えます。 _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-04-20 16:26
かるあさん
有難うございます HTMLソースは以下のようになっています。 <input name="dtgPaymentDetails$ctl02$txtQuantity" type="text" value="8" id="dtgPaymentDetails_ctl02_txtQuantity" onKeyUp="javascript:alart_test(dtgPaymentDetails_ctl02_lblUnitPrice)" /> これでは取れないですか? また、静的に動かす良い方法をご教授いただけますと幸いです。 (何から何まですいませんm(_ _)m) | ||||
|
投稿日時: 2007-04-20 16:42
これって、ブラウザで入力されたタイミングで「数量 * 単価 = 金額」の計算を行ないたいということですよね?
であれば、HTML と JavaScript の世界の話なので、メモ帳なり何なりで簡単なサンプルを作成して、動作確認してみては。 というのが、かるあさんの言われている静的な確認だと思いますよ。 GridView とはいえ、クライアントに出力されるのは TABLE ですから。 まずは、そこからではないでしょうか。 | ||||
|
投稿日時: 2007-04-20 16:42
静的に動かすとは、HTMLを作成し動作させれば良いのです。
以下が参考になると思います。 とほほのWWW入門 | ||||
|
投稿日時: 2007-04-20 17:11
ひろれいさん、マーサさん
有難うございます。 labelをみたところ、htmlではspanになっていました。 なんとも初歩的ですいません。 <span>1000</span>のような感じです。 一生懸命この1000を取ろうとしていたわけです。 取れるはずない・・ inputだとうまくいきました。 | ||||
|
投稿日時: 2007-04-20 17:23
innerHTMLを使用すればIE6(Win2k)ではspanタグ内部にかかれた文字列が
取得できるようです。
| ||||
|
投稿日時: 2007-04-20 17:27
Katzeさん
「innerHTML」勉強になります。 早速試してみようと思います。 有難うございます。 |