我對此有太多的麻煩。我到處尋找,所以我希望有人可以向我解釋如何做到這一點或向我展示。這是我的問題:創建按鈕單擊事件並使用Javascript驗證文本框
我有一個DataGrid填充DataBound項目(ItemTemplate),它是使用ASP.Net創建的。
我對ItemTemplates
超過常規DataBound
字段的原因是爲了啓用DataGrid的編輯模式。在我的ItemTemplates
中,我有標籤來顯示數據和兩個選項按鈕(編輯/刪除)。我在後面的代碼中使用了按鈕(C#)。
編輯將DataGrid置於編輯模式。在EditItemTemplates
我有DropDownLists
,TextBoxe
s和一個保存按鈕代替編輯按鈕。
保存按鈕也適用於我爲它編寫的代碼。總而言之,DataGrid工作得非常漂亮,並且整齊地顯示了一切。然而,我想要一個最終的工作保存按鈕來做:我希望它檢查文本框並驗證輸入的值是否符合我設置的標準(請記住這些是在EditItemTemplates
)。
我已經寫了Javascript,將檢查驗證。我想要一個模式窗口(我已經設置)來顯示,我希望有問題的文本框的CSS可以更改。
我想這樣做,使用Javascript,但我的問題是,我可以不檢查保存按鈕以創建Click
事件,我不能「定位」的文本框,以驗證它們。 DataGrid處於編輯模式時,是否可以「找到」這些元素?
下面是用於創建數據網格,如果它有助於代碼的小位:
<asp:DataGrid ID="dgCamsizer" CssClass="data" runat="server" AutoGenerateColumns="False"
GridLines="None" OnItemCommand="dgCamsizer_ItemCommand" ShowHeader="true">
<Columns>
<asp:TemplateColumn HeaderStyle-CssClass="infoHeaderDG">
<HeaderTemplate>
Operator</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Operator" Text='<%# DataBinder.Eval(Container.DataItem, "Operator") %>'
runat="server" /></ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="EditOper" Width="40px" Text='<%# DataBinder.Eval(Container.DataItem, "Operator") %>'
runat="server"></asp:TextBox></EditItemTemplate>
<HeaderStyle CssClass="infoHeaderDG"></HeaderStyle>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderStyle-CssClass="infoHeaderDG">
<ItemTemplate>
<asp:Button ID="Edit" Text="Edit" CommandName="Edit" runat="server" /></ItemTemplate>
<EditItemTemplate>
<asp:Button ID="Save" Text="Save" CommandName="Save" runat="server" /></EditItemTemplate>
<HeaderStyle CssClass="infoHeaderDG"></HeaderStyle>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
也許我應該重新階段我的問題:我設法「發現」的TextBoxes
感謝Zetlen。我也設法獲得了價值。現在...我如何使用這些值來測試驗證?
這裏是我用來獲取值碼:
$("#<%=dgCamsizer.ClientID %> :text").each(function() {
alert($(this).val());
});
如果您已回答了您的問題,請在此處發佈答案並接受答案,以便其他人知道答案已解決。不要編輯標題 - Stack Overflow有其他視覺線索來告訴用戶問題已經回答。 :) – jwiscarson