2015-05-24 49 views
0

当我解雇btn事件时。后刷新页面,我的RegisterStartupScript验证asp.net不工作corectly当我使用ScriptManager.RegisterStartupScript时,RequiredFieldValidator不正确工作

protected void btnSumbit_Click(object sender, EventArgs e) 
{ 
    NotifyShow("example"); 
} 
public void NotifyShow(string msg) 
{ 
    string myScript = string.Format("ShowMessages('{0}','{1}');", msg, "type"); 
    StringBuilder str = new StringBuilder(); 

    str.Append(myScript); 

    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), 
     "AlertJS", str.ToString(), true); 
} 

这个HTML

<form id="form1" runat="server"> 
<div id="main"> 
    <asp:TextBox runat="server" ID="txtb1" ValidationGroup="g1" ></asp:TextBox> 
    <asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtb1" Text="not valid" ValidationGroup="g1"></asp:RequiredFieldValidator> 
    <asp:Button runat="server" ID="btnSumbit" ValidationGroup="g1" OnClick="btnSumbit_Click"/> 
</div> 
</form> 

这个JavaScript

function ShowMessages(messageText, type) { 
var images = ""; 

document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + "<div id='MessagePopUp' class='" + type + "' title='Error message'>" +"" +"<p id='MessageText' style='direction: rtl; margin: 0px auto; padding: 5px;'>" + messageText + "</p>" +"</div>"; 

var popUp = document.getElementById("MessagePopUp"); 

$("#MessagePopUp").show("slide", 1000, function() { 
    $("#MessagePopUp").hide("slide", 2000, function() { 

     document.getElementById("main").removeChild(popUp); 
    }); 
}).delay(4000);} 
+0

你能更具体地说“工作不正常”吗? –

+0

当我的领域是无效的,再次发射btn,验证器文本不可见! – ehsanHB

+0

你能粘贴HTML代码吗? ShowMessages()函数可能在被调用时尚未定义。 –

回答

0

我决心改变自己的js代码的时候:

function ShowMessages(messageText, type) { 
 
    var html='<div id="MessagePopUp" class="' + type + '" title="Error message"><p id="MessageText" style="direction: rtl; margin: 0px auto; padding: 5px;">' + messageText + '</p></div>'; 
 
    addElement('main', 'div', 'tempElement', html); 
 
    var popUp = $("#MessagePopUp"); 
 

 
    $("#MessagePopUp").show("slide", 1000, function() { 
 
     $("#MessagePopUp").hide("slide", 2000, function() { 
 
      removeElement('tempElement'); 
 
     }); 
 
    }).delay(4000); 
 
} 
 
function addElement(parentId, elementTag, elementId, html) { 
 
    // Adds an element to the document 
 
    var p = document.getElementById(parentId); 
 
    var newElement = document.createElement(elementTag); 
 
    newElement.setAttribute('id', elementId); 
 
    newElement.innerHTML = html; 
 
    p.appendChild(newElement); 
 
} 
 
function removeElement(elementId) { 
 
    // Removes an element from the document 
 
    var element = document.getElementById(elementId); 
 
    element.parentNode.removeChild(element); 
 
}

相关问题