我想验证父类别不能重复,用了jquery.validate的remote,具体代码如下。怎么能取到父类别的值呢?
现在父类别文本框输入焦点失去的时候,获取不到父文本框的值,传入到GetParentName.aspx文件parentName参数是空值。
具体代码如下: <script language="javascript" type="text/javascript"> $().ready(function() { $("#<%=form1.ClientID %>").validate({
rules: {
txtParentName: { required: true, maxlength: 20, remote: "GetParentName.aspx?parentName=" + $("#txtParentName").attr("value") },
txtChildName: {required: true,maxlength:20 },
txtNodePic: {required: true,maxlength:50},
txtLinkFile: {required: true,maxlength:50 }
},
messages: {
txtParentName: {required: " 请输入父节点名称!",maxlength:"父节点不能大于20个字符",remote:"父节点重复!"},
txtChildName: {required: " 请输入子节点名称!",maxlength:"子节点不能大于20个字符"},
txtNodePic: {required: " 请确认节点图片!",maxlength:"节点图片不能大于40个字符"},
txtLinkFile: {required: " 请输入节点链接文件!",maxlength:"节点图片不能大于40个字符"}
}
});
});
</script></head>
<body>
<form id="form1" runat="server">
<div> <center>
<table id="tabInput" width="80%" align="center">
<tr>
<td style="width:100px;" align="right">
父类别名称:</td>
<td align="left">
<asp:TextBox ID="txtParentName" runat="server" CssClass="inputCss"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
子类别名称:</td>
<td align="left">
<asp:TextBox ID="txtChildName" runat="server" CssClass="inputCss"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
节点图片:</td>
<td align="left">
<asp:TextBox ID="txtNodePic" runat="server" CssClass="inputCss" Width="212px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
节点文件名称:</td>
<td align="left">
<asp:TextBox ID="txtLinkFile" runat="server" CssClass="inputCss" Width="212px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
<td align="left">
<asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click"
Width="58px" />
<asp:Button ID="btnModify" runat="server" Text="修改"
onclick="btnModify_Click" Width="58px" CausesValidation="False" OnClientClick="alert($('#txtParentName').val());" />
<asp:TextBox ID="txtParentID" runat="server"></asp:TextBox>
</td>
<input type="hidden" name="btnSubmit" value=" 确定 " /> </tr>
</table>//GetParentName.aspx 测试文件
public partial class SystemSet_GetParentName : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string parentName = Request.QueryString["parentName"];
string ret = "true";
if (parentName == "xx") ret = "false";
Response.Clear();
Response.Write(ret);
Response.End();
}
}非常感谢!
现在父类别文本框输入焦点失去的时候,获取不到父文本框的值,传入到GetParentName.aspx文件parentName参数是空值。
具体代码如下: <script language="javascript" type="text/javascript"> $().ready(function() { $("#<%=form1.ClientID %>").validate({
rules: {
txtParentName: { required: true, maxlength: 20, remote: "GetParentName.aspx?parentName=" + $("#txtParentName").attr("value") },
txtChildName: {required: true,maxlength:20 },
txtNodePic: {required: true,maxlength:50},
txtLinkFile: {required: true,maxlength:50 }
},
messages: {
txtParentName: {required: " 请输入父节点名称!",maxlength:"父节点不能大于20个字符",remote:"父节点重复!"},
txtChildName: {required: " 请输入子节点名称!",maxlength:"子节点不能大于20个字符"},
txtNodePic: {required: " 请确认节点图片!",maxlength:"节点图片不能大于40个字符"},
txtLinkFile: {required: " 请输入节点链接文件!",maxlength:"节点图片不能大于40个字符"}
}
});
});
</script></head>
<body>
<form id="form1" runat="server">
<div> <center>
<table id="tabInput" width="80%" align="center">
<tr>
<td style="width:100px;" align="right">
父类别名称:</td>
<td align="left">
<asp:TextBox ID="txtParentName" runat="server" CssClass="inputCss"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
子类别名称:</td>
<td align="left">
<asp:TextBox ID="txtChildName" runat="server" CssClass="inputCss"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
节点图片:</td>
<td align="left">
<asp:TextBox ID="txtNodePic" runat="server" CssClass="inputCss" Width="212px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
节点文件名称:</td>
<td align="left">
<asp:TextBox ID="txtLinkFile" runat="server" CssClass="inputCss" Width="212px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
<td align="left">
<asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click"
Width="58px" />
<asp:Button ID="btnModify" runat="server" Text="修改"
onclick="btnModify_Click" Width="58px" CausesValidation="False" OnClientClick="alert($('#txtParentName').val());" />
<asp:TextBox ID="txtParentID" runat="server"></asp:TextBox>
</td>
<input type="hidden" name="btnSubmit" value=" 确定 " /> </tr>
</table>//GetParentName.aspx 测试文件
public partial class SystemSet_GetParentName : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string parentName = Request.QueryString["parentName"];
string ret = "true";
if (parentName == "xx") ret = "false";
Response.Clear();
Response.Write(ret);
Response.End();
}
}非常感谢!
这样取不到值肯定是哪点用错了。
url:"GetParentName.aspx",
type:"post",
data:{
parentName:function() {
return $("#txtParentName").val();
}
}
}