【发布时间】:2011-09-09 01:31:36
【问题描述】:
我有一个 GridView,其中的模板字段中有四个文本框。我在 GridView 下方有一个 Button。
如何验证 GridView 中的文本框,当单击按钮时?
【问题讨论】:
标签: c# javascript asp.net validation user-controls
我有一个 GridView,其中的模板字段中有四个文本框。我在 GridView 下方有一个 Button。
如何验证 GridView 中的文本框,当单击按钮时?
【问题讨论】:
标签: c# javascript asp.net validation user-controls
使用RequiredFieldValidator 并设置ValidationGroup="gridview",查看以下示例
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="TextBox3" ValidationGroup="gridview" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="Button2" runat="server" Text="Button" ValidationGroup="gridview" CausesValidation="true" />
</ItemTemplate>
</asp:TemplateField>
【讨论】:
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate /lib/jquery.delegate.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<script type="text/javascript">
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});;
</script>
<script>
$(document).ready(function(){
$("#myform").validate({
rules: {
field: "required"
}
});
});
<body>
<form id="myform">
<label for="field">Required: </label>
<input class="left" id="field" name="field" />
<br/>
<input type="submit" value="Validate!" />
</form>
</body>
【讨论】:
<script type="text/javascript">
function ValidateGridview() {
titlename = document.getElementById('<%=((TextBox)grd_party_influenc.FooterRow.FindControl("txt_f_title")).ClientID%>');
if (titlename.value ==0) {
alert("Please Insert The Title ....");
titlename.focus();
return false;
}
// return true;
}
</script>
然后像这样通过链接按钮调用 JavaScript 函数:
<asp:LinkButton ID="lnk_btn_insert" runat="server" CommandName="Insert" OnClientClick="ValidateGridview()">Insert</asp:LinkButton>
【讨论】:
我有 7 个文本框
好的,我已经在我的 JS 函数上工作了,它对我有用。希望它会 为其他人工作。在我的代码中,我采用了一个变量
success作为一个标志工作,我正在检查它两次,然后 最后返回true,这样如果其中一个文本框不为空 而其他不是它不会返回true。 抱歉编辑不佳
function fnCheck(val) {
var success = true;
var v = val.id.split('_')[1];
var merter = document.getElementById('GridSubMeter_' + v + '_txtMeterIdn').value.trim();
var Billper = document.getElementById('GridSubMeter_' + v + '_txBillPer').value.trim()
var Endkwh = document.getElementById('GridSubMeter_' + v + '_txEndKwh').value.trim();
var startkwh = document.getElementById('GridSubMeter_' + v + '_txStartKwh').value.trim();
var ReadEndDate = document.getElementById('GridSubMeter_' + v + '_txReadEndDate').value.trim();
var ReadStartDate = document.getElementById('GridSubMeter_' + v + '_txReadStartDate').value.trim();
var CTFACT = document.getElementById('GridSubMeter_' + v + '_txCTFact').value.trim();
debugger;
if (merter != '') {
}
else {
alert("Meter Identifier is Required Field");
success = false;
}
if (Billper != '') {
}
else {
alert("Bill Period is Required Field");
success = false;
}
if (Endkwh != '') {
}
else {
alert("EndKwh is Required Field");
success = false;
}
if (startkwh != '') {
}
else {
alert("StartKwh is Required Field");
success = false;
}
if (ReadEndDate != '') {
}
else {
alert("Read EndDate is Required Field");
success = false;
}
if (ReadStartDate != '') {
}
else {
alert("Read StartDate is Required Field");
success = false;
}
if (CTFACT != '') {
}
else
{ alert("CT Factor is Required Field");
success = false;
}
return success;
}
onclientclick
<asp:Button ID="btn_Update" Style="background-color: #B2DE94; width: 40px" CausesValidation="false" runat="server" OnClientClick="return fnCheck(this);" Text="Update" CommandName="Update" />
【讨论】: