Javascript 页面加载后,隐藏字段中不存在值
在下面的代码中,我在页面加载中进行了编码。在此代码中,我将正则表达式存储在hidRegExp.Value中。现在,我必须将该值存储在隐藏字段中。现在,在javascript中,我必须在文本框中验证用户输入。但是,当我输入一个值时,它会显示空白警报。但是,我想在警报中显示正则表达式。请帮我做到这一点。 代码隐藏:Javascript 页面加载后,隐藏字段中不存在值,javascript,asp.net,Javascript,Asp.net,在下面的代码中,我在页面加载中进行了编码。在此代码中,我将正则表达式存储在hidRegExp.Value中。现在,我必须将该值存储在隐藏字段中。现在,在javascript中,我必须在文本框中验证用户输入。但是,当我输入一个值时,它会显示空白警报。但是,我想在警报中显示正则表达式。请帮我做到这一点。 代码隐藏: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (FieldTypeInfo == FieldType.TextBox)
{
TblSearch.Visible = false;
TblDate.Visible = false;
tblDropd.Visible = false;
TblChk.Visible = false;
lblText.Text = FieldLabel;
//txtreq.Enabled = this.IsMandatory;
string strRegularExp = string.Empty;
if (ListOfRegularExpression != null)
{
for (int iRow = 0; iRow < ListOfRegularExpression.Count; iRow++)
{
strRegularExp += ListOfRegularExpression[iRow].ToString() + "~~";
hidRegExp.Value = strRegularExp;
if (iRow == ListOfRegularExpression.Count - 1)
{
strRegularExp = strRegularExp.TrimEnd("~~".ToCharArray());
txtField.Attributes.Add("onblur", "javascript:ValidateRegExp('" + txtField.ToString() + "');");
}
}
}
hidRegExp.Value = strRegularExp;
lbl.Text = "The value of the HiddenField control is " + hidRegExp.Value + ".";
}}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!IsPostBack)
{
if(FieldTypeInfo==FieldType.TextBox)
{
TblSearch.Visible=false;
TblDate.Visible=false;
tblDropd.Visible=false;
TblChk.Visible=false;
lblText.Text=字段标签;
//txtreq.Enabled=此为强制性;
string strRegularExp=string.Empty;
if(ListOfRegularExpression!=null)
{
for(int-iRow=0;iRow
代码:
函数ValidateRegExp(txtInput){
var hiddenValue=document.getElementById(“”).value;
警报(“hiddenValue”+hiddenValue+”);
var mySplitResult=新数组();
mySplitResult=hiddenValue.split(“~~”);
对于(i=0;i 数组[“+i+”]=”+mySplitResult[i]);
var re=新的RegExp(mySplitResult[i]);
if(txtInput.match(re)){
警报(“成功匹配”);
}否则{
警惕(“不匹配”);
}
}
}
最初ListOfRegularExpression
将为空,因此控件将不会进入if(ListOfRegularExpression!=null)
和HiddenField。不会设置值。
我以前遇到过这个问题。老实说,我不记得是如何解决的,但我尝试了一些方法。它们如下:
要显示隐藏字段,请在隐藏字段上添加ClientIdMode作为static,如
<asp:HiddenField ID="hidRegExp" runat="server" EnableViewState="true" ClientIDMode="Static"></asp:HiddenField>
如果这不起作用,请尝试以下方法:
1) 尝试在脚本之前移动隐藏字段
2) 尝试将其作为标签并在JavaScript中使用
希望这有帮助。我已经打印了标签中的值,但它不在隐藏字段中尝试删除
如果(!IsPostBack)
这肯定不会影响您的功能在标签中我们该怎么做?请发布它在标签中做同样的事情。通过使用ClientIDMode作为静态,您可以强制框架呈现相同的ID,而不是混乱的ID。我要说的一件事是避免使用javascript中的内联代码。如果您再次遇到问题,请告诉我。
<asp:HiddenField ID="hidRegExp" runat="server" EnableViewState="true" ClientIDMode="Static"></asp:HiddenField>
document.getElementById("hidRegExp");