我的 aspx 页面中有几个 asp 文本框。并且没有足够的空间来显示 Requred 字段验证器消息。有什么解决办法吗?使用 jquery 还是别的什么?
6 回答
您可以简单地突出显示带有Red
边框的文本框,以标记它们是文本框数据的问题。
您可以像这样使用 CSS:
input.error
{
background: Yellow; border: 1px solid red;
}
出错时,只需将类添加到input
并输入工具提示
$("input").addClass("error").attr('title', 'An error occurred!');
试试下面的代码:
$(":text").each(function(){
if($(this).val()==""){
$(this).css("background-color","red");
alert($(this).attr("id") & " validate error");
return
}
});
您可以同时使用 javascript 或 jQuery,通过验证数据,然后在未验证的情况下将消息返回到输入。前任:
if($('#idOfFeild').val()==''){
$('#idOfFeild').val('Please input your data');
}
您也可以添加样式来警告您的用户!
你可以阅读这篇文章: http: //www.codeproject.com/Articles/43772/Generic-Code-of-Validating-Fields-with-Jquery,他们试试这个代码:
<script type="text/javascript">
<script src="JavaScript/jquery.js" type="text/javascript"></script>
function callOnload()
{
$("input[isvalidate=true]").each(
function(n)
{
$('#' +this.id).addClass('mandatory');
this.onkeyup=function()
{
if(this.value==='')
{
$('#' +this.id).removeClass('normal');
$('#' +this.id).addClass('mandatory');
}
else
{
$('#' +this.id).removeClass('mandatory');
$('#' +this.id).addClass('normal');
}
}
}
);
$("#btnSubmit").click(
function()
{
$("input[isvalidate=true]").each(
function(n)
{
if(this.value==='')
{
alert($('#' +this.id).attr('errprMsg'));
}
}
);
return false;
}
);
}
$(document).ready(callOnload);
</script>
是的,显然,您有一个非常简单的解决方案。
你不必使用任何 jquery 的东西。你只需要使用asp:validationSummary
.
我在这里发布解决方案。有了这个,您可以使用标准 asp 在简单的弹出窗口中显示所有错误消息validation controls
。它不会占用您的任何空间page
。
看看下面的代码:
<asp:ValidationSummary ID="validation1" runat="server" ShowMessageBox="true" ShowSummary="false" DisplayMode="SingleParagraph" ValidationGroup="abc" />
<asp:TextBox ID="txtAge" runat="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID="req" runat="server" ControlToValidate="txtAge" Display="None" ValidationGroup="abc" ErrorMessage="Field Required"></asp:RequiredFieldValidator>
<asp:Button ID="btn" Text="click" runat="server" ValidationGroup="abc" />
我在这里设置ShowMessageBox="true"
了Validation Summary
,它将在弹出窗口中显示所有错误消息。
设置您的验证器Display="none"
,以便错误消息仅显示在弹出窗口中。
错误消息将如下图所示。您不必担心管理页面空间。
它是您问题的完美、简单和简单的解决方案。
请让我知道这对你有没有用。
或者 alert() 您可以使用自己的验证器和彩色文本或文本框。我的页面上有小例子,你可以调整它。添加 css 类: http: //kjinit.blogspot.com/2013/03/jquery-dynamic-adding-css-class.html 并删除 css 类。
当然首先你需要像这样验证它: if('#yourInputId').val(''); 只需在正确与否时为添加或删除 css 类的文本着色。