Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript和ASP.NET无法验证我的ASP文本框_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

使用javascript和ASP.NET无法验证我的ASP文本框

使用javascript和ASP.NET无法验证我的ASP文本框,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我只是想问为什么我的asp文本框的表单验证不起作用。这应该就像当用户没有在文本框中输入文本时,段落标记中的描述将显示为请输入文本。但它不起作用。请帮我解决这个问题 以下是javascript代码: function checkForm() { var errors = []; if ($("#itemBrand").value == "") { errors[0] = "Please input a text!"; } if ($("#itemModel").value == "")

我只是想问为什么我的asp文本框的表单验证不起作用。这应该就像当用户没有在文本框中输入文本时,段落标记中的描述将显示为请输入文本。但它不起作用。请帮我解决这个问题

以下是javascript代码:

function checkForm() {
var errors = [];

if ($("#itemBrand").value == "") {
    errors[0] = "Please input a text!";
}

if ($("#itemModel").value == "") {
    errors[1] = "Please input a text!";
}

if (errors.length > 0) {
    if (errors[0] != null) {
        document.getElementById("itemBrandValidate").innerHTML = errors[0];
    }

    if (errors[1] != null) {
        document.getElementById("itemModelValidate").innerHTML = errors[1];
    }
 return false;
}
return true;
}
这是aspx:

<asp:TextBox ID="itemBrand" runat="server" BackColor="#FFFF66" 
 BorderColor="Black" BorderWidth="1px" Height="20px" Width="300px">
 </asp:TextBox><br />
                    <p  id="itemBrandValidate"></p>

 <asp:TextBox ID="itemModel" runat="server" BackColor="#FFFF66" 
 BorderColor="Black" BorderWidth="1px" Height="20px" Width="300px">
 </asp:TextBox><br />
                    <p  id="itemModelValidate"></p>

 <asp:Button ID="Button1" runat="server" CssClass="submitButton" Text="Save 
  Item" OnClick="Button1_Click" OnClientClick="return checkForm()"/>



在文本框中添加clientmode=“Static”。否则,.NET平台将生成一个与服务器Id属性不同的Id,并且Jquery选择器无法按预期工作

例如:

<asp:TextBox ID="itemBrand" ClientIDMode="static" runat="server" BackColor="#FFFF66" 
 BorderColor="Black" BorderWidth="1px" Height="20px" Width="300px">
 </asp:TextBox>

在文本框中添加clientmode=“Static”。否则,.NET平台将生成一个与服务器Id属性不同的Id,并且Jquery选择器无法按预期工作

例如:

<asp:TextBox ID="itemBrand" ClientIDMode="static" runat="server" BackColor="#FFFF66" 
 BorderColor="Black" BorderWidth="1px" Height="20px" Width="300px">
 </asp:TextBox>

asp.net服务器控件的客户端id与服务器端id不同

您可以使用
clientmode=“Static”
(在.NET 4.0中引入)或使用
ClientID
,如下所示,我也尝试重新编写验证函数

function checkForm() {
var success = true;

var itemBrandID = "<%= itemBrand.ClientID %>" ;  

if ($("#" + itemBrandID).value == "") {
    success = false;
    document.getElementById("<%= itemBrandValidate.ClientID %>").innerHTML = "Please input a text!";
}

var itemModelID = "<%= itemModel.ClientID %>" ;  
if ($("#" + itemModelID).value == "") {
    success = false;
    document.getElementById("<%= itemModelValidate.ClientID %>").innerHTML = "Please input a text!";
}


return success;
}
函数检查表(){
var成功=真;
var itemBrandID=“”;
if($(“#”+itemBrandID).value==“”){
成功=错误;
document.getElementById(“”).innerHTML=“请输入文本!”;
}
var itemModelID=“”;
if($(“#”+itemModelID).value==“”){
成功=错误;
document.getElementById(“”).innerHTML=“请输入文本!”;
}
回归成功;
}
同时建议你阅读Rick Strahl在

希望这有帮助

asp.net服务器控件的客户端id与服务器端id不同

您可以使用
clientmode=“Static”
(在.NET 4.0中引入)或使用
ClientID
,如下所示,我也尝试重新编写验证函数

function checkForm() {
var success = true;

var itemBrandID = "<%= itemBrand.ClientID %>" ;  

if ($("#" + itemBrandID).value == "") {
    success = false;
    document.getElementById("<%= itemBrandValidate.ClientID %>").innerHTML = "Please input a text!";
}

var itemModelID = "<%= itemModel.ClientID %>" ;  
if ($("#" + itemModelID).value == "") {
    success = false;
    document.getElementById("<%= itemModelValidate.ClientID %>").innerHTML = "Please input a text!";
}


return success;
}
函数检查表(){
var成功=真;
var itemBrandID=“”;
if($(“#”+itemBrandID).value==“”){
成功=错误;
document.getElementById(“”).innerHTML=“请输入文本!”;
}
var itemModelID=“”;
if($(“#”+itemModelID).value==“”){
成功=错误;
document.getElementById(“”).innerHTML=“请输入文本!”;
}
回归成功;
}
同时建议你阅读Rick Strahl在


希望这有帮助

您还可以提供此aspx表单的生成HTML输出。您的javascript非常疯狂。如果从未设置索引0,则有和数组中从未正确初始化的错误(错误[0]!=null)实际上是未定义的。如果您有母版页,请尝试直接在jQuery代码中与呈现的
asp:TextBox
id
。检查Chrome开发者工具并检查元素。你也可以提供这个aspx表单的生成HTML输出。你的javascript非常疯狂。如果从未设置索引0,则有和数组中从未正确初始化的错误(错误[0]!=null)实际上是未定义的。如果您有母版页,请尝试直接在jQuery代码中与呈现的
asp:TextBox
id
。签入Chrome developer tools并检查该元素。即使我添加了ClientMode,它仍然不工作。@BoomClick,您在浏览器的开发工具中看到任何错误吗?即使我添加了ClientMode,它仍然不工作。@BoomClick,您在浏览器的开发工具中看到任何错误吗?