- - PR -
aspxのJavaScriptでGridViewを取得する
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-01-23 10:55
.netで言語はVBでの開発をしていますが、
aspx画面で、 GridView ID : Grid の中にある以下のボタン─編集、削除─を押下したときに OnClientClickイベントで messageFunc(mode)のJavaScriptを実行しています。 このときに、GridViewのボタンがあるセルの中にあるhiddenテキストボックス *ID : hiddenField の値を取得したいのですが、GridView自体が取得できません。 以下がそのソースになります。 GridViewの設定は・・・ <asp:GridView Width="1115" ID="grvw" runat="server" AllowPaging="True" AutoGenerateColumns="False" GridLines="Vertical" BorderStyle="Solid" BorderColor="Black" BorderWidth="1px" CellPadding="0" > 10列目のセルにボタン二個、hiddenが一個あります・・・ <asp:TemplateField HeaderText="修正/削除" InsertVisible="False" SortExpression="indexBtn"> <ItemTemplate> ※編集ボタンの記述↓ <asp:Button ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "indexBtn") %>' OnClientClick="Javascript:retVal=messageFunc('E',9);" Text="編集" CssClass="Button_mini" UseSubmitBehavior="true" /> ※削除ボタンの記述↓ <asp:Button ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "indexBtn") %>' OnClientClick="Javascript:retVal=messageFunc('D',9);" Text="削除" CssClass="Button_mini" UseSubmitBehavior="true" /> ※隠しフィールドの記述↓ <asp:HiddenField ID="hiddenField" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "mode") %>' /> </ItemTemplate> <HeaderStyle BorderColor="Black" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle"/> <ItemStyle BorderColor="Black" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" Width="120" BackColor="White" /> </asp:TemplateField> | ||||
|
投稿日時: 2009-01-23 13:32
実行した画面のソース内を見てみるとIDが書いてありませんか?
サーバ側でスクリプトを吐き出しているのであれば、引数にDataGirdView.ClientIDを渡してあげれば宜しいかと思います。 | ||||
|
投稿日時: 2009-01-23 13:48
IDで取得してみても取れません。
getElementByIDでは取れませんでした。 var obj = document.getElementById(Idの名前); 中身がNULLになってぃます。 hiddenのテキストボックスの値も取れませんでした。 | ||||
|
投稿日時: 2009-01-23 14:44
ソース上は"grvw"になってて、 スレ立てた時の質問では ID: Grid ってなってますけど。 | ||||
|
投稿日時: 2009-01-23 15:06
IDは、grvwです。
実際にはIDは正しいものを使用しています。 idの間違いはありません。 GridViewのひとつのセルの中にボタン二個、hiddenFieldがひとつありますが、 その場合の hiddenFieldを取得する仕方はありますでしょうか? var obj = document.getElementById("grvw"); obj.rows(2).cells(. この後の書き方がわかりません。 cells(の中に、先ほどいったように三つコントロールがありますから。 ご教授お願いいたします。 | ||||
|
投稿日時: 2009-01-23 15:36
> getElementByIDでは取れませんでした。
> var obj = document.getElementById(Idの名前); > 中身がNULLになってぃます。 この問題は解決したんですか? | ||||
|
投稿日時: 2009-01-23 15:51
GridViewは取得できています。でも、九行目のセルの中にあるhiddenFieldが取得できません。hiddenFieldのid名は、すべての行で同じになっていますので、行とセルの指定が必要です。その中に、
ボタン二個 隠しフィールドが一つあります。 [ メッセージ編集済み 編集者: apo 編集日時 2009-01-23 15:59 ] | ||||
|
投稿日時: 2009-01-23 16:36
なっていますというか、同じにしているんですよね。 idが異なるよ |