我有一个Gridview,我在里面创建了一个文本框和按钮。我需要在按钮点击时获取文本框的值。
使其更简单。我只需在gridview中发布所需的字段:文本框和按钮。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="Edit" OnClientClick="return validation();"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是javascript:
function validation() {
var dt = new String(document.getElementById("<%=GridView1.ClientID %>[name=TextBox1]").value);
if (dt == '') {
//my code here
return false;
}
return true;
}
没有获得价值。 :( 如果您遇到此问题,请帮忙。谢谢
答案 0 :(得分:2)
您希望根据按钮点击获取文本框值。请试试这个。
ASP.NET设计。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="Edit" OnClientClick="return validation(event);"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这里是jQuery代码
function validation(e) {
var target = e.target;
var dt = $(target).closest("td").prev("td").find("[type='text']").val();
alert(dt);
}
在运行代码之前,请参考jQuery。
答案 1 :(得分:0)
试试这个
var GridView1 = document.getElementById('<%= GridView1.ClientID %>');
for (var rowId = 1; rowId < GridView1.rows.length; rowId++) {
var textValue = GridView1.rows[rowId].cells[0].children[0];
alert(textValue.value);
}
答案 2 :(得分:0)
这应该这样做,但你需要加载jQuery库。
$('#Button1').on('click', function(){
var textInput = $('#TextBox1').val();
console.log(textInput);
return textInput;
});