无法从javascript显示标签

无法从javascript显示标签,javascript,asp.net,client-side-validation,Javascript,Asp.net,Client Side Validation,我正在验证javascript中的表单。 目标是:如果用户未在必填字段中输入值,则会显示错误消息,并在几秒钟后消失。 但是 问题是:错误消息没有显示,这可能是因为我无法从javascript在label控件中写入错误消息。但是,如果我使用javascript alert而不是显示标签,它就会工作 守则: Javascript <script type="text/javascript"> function showConfirmation() { $('div

我正在验证javascript中的表单。 目标是:如果用户未在必填字段中输入值,则会显示错误消息,并在几秒钟后消失。 但是 问题是:错误消息没有显示,这可能是因为我无法从javascript在label控件中写入错误消息。但是,如果我使用javascript alert而不是显示标签,它就会工作

守则: Javascript

<script type="text/javascript">
    function showConfirmation() {
        $('div#confirmationDV').show();
        setTimeout(function () {
            $('div#confirmationDV').fadeOut(5000);
        });
    }
    function validateRequiredField() {
        if (document.getElementById("<%=txtOfferTitle.ClientID%>").value == "") {
            alert("error.....");//this alert works.
            document.all("<%=lblConfirmation.ClientID%>").innerHTML = "please enter your business name"; // this does not work
            document.all("<%=lblConfirmation.ClientID%>").style.color = "red";
            showConfirmation();
            document.getElementById("<%=txtOfferTitle.ClientID%>").focus();
            return false;
        }
        return true;
    }
</script>
如果有人能帮我找出错误就好了。。
干杯

您混合使用jQuery和IE Only JScript

确保只使用jQuery或跨浏览器JavaScript

改变

function validateRequiredField() {
        if (document.getElementById("<%=txtOfferTitle.ClientID%>").value == "") {
            alert("error.....");
            document.all("<%=lblConfirmation.ClientID%>").innerHTML = "please enter your business name";
            document.all("<%=lblConfirmation.ClientID%>").style.color = "red";
            showConfirmation();
            document.getElementById("<%=txtOfferTitle.ClientID%>").focus();
            return false;
        }
        return true;
    }
函数validateRequiredField(){
if(document.getElementById(“”).value==“”){
警报(“错误…”);
document.all(“”.innerHTML=“请输入您的企业名称”;
document.all(“”).style.color=“红色”;
showConfirmation();
document.getElementById(“”.focus();
返回false;
}
返回true;
}

$(“#”)。单击(函数(e){
var txtOffer=$(“#”)的价值;
var txtofferbl=$(“#”);
if(txtOffer.val()==“”){
警报(“错误…”);
txtofferbl.text(“请输入您的企业名称”);
txtofferbl.addClass(“错误”);
showConfirmation();
txtoff.focus();
e、 预防默认值();
}
否则{
txtofferbl.text(“”);
txtofferbl.removeClass(“错误”);
}
});

您的验证是在客户端还是服务器端完成的?如果是客户端,那么为什么在验证函数中使用asp标记?它在客户端。在validateRequiredField()函数中。您在谈论什么asp标记?document.all(“”.innerHTML=“请输入您的企业名称”;//这不起作用文档。all(“”).style.color=“红色"; 这些标签将在服务器端na替换?您是否检查了通过查看浏览器中显示的页面的源来替换的值?:)这些行都有效。将“ClientID”替换为控件的实际ID。现在我有一个转折点,上面的代码可以在Chrome和IE上运行,但在firefox中不起作用。:)谢谢你的回答。但它不起作用。我需要在页面加载事件中添加任何内容吗??仅供参考,我的代码在Chrome和IE中运行,但在Firefox中不起作用。如需进一步帮助,将不胜感激。:)如果不查看实际页面及其呈现的输出,我无法保证我的代码正常工作,因为我假设了很多事情。例如,您需要一个样式:
.error{color:red}
@kandroid您可以返回对我的问题发表评论吗?
<asp:ImageButton ID="iBtnSave" runat="server" ImageUrl="~/images/createOffer.png"         
onclick="iBtnSave_Click" OnClientClick="return validateRequiredField()" />
protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            iBtnSave.Attributes.Add("onclick", "return validateRequiredField()");
//some other stuff
}}
function validateRequiredField() {
        if (document.getElementById("<%=txtOfferTitle.ClientID%>").value == "") {
            alert("error.....");
            document.all("<%=lblConfirmation.ClientID%>").innerHTML = "please enter your business name";
            document.all("<%=lblConfirmation.ClientID%>").style.color = "red";
            showConfirmation();
            document.getElementById("<%=txtOfferTitle.ClientID%>").focus();
            return false;
        }
        return true;
    }
$("#<%=iBtnSave.ClientID%>).click(function(e) {
  var txtOffer = $("#<%=txtOfferTitle.ClientID%>");
  var txtOfferLbl = $("#<%=lblConfirmation.ClientID%>");
  if (txtOffer.val() == "") {
    alert("error.....");
    txtOfferLbl.text("please enter your business name");
    txtOfferLbl.addClass("error");
    showConfirmation();
    txtOffer.focus();
    e.preventDefault();
  }
  else {
    txtOfferLbl.text("");
    txtOfferLbl.removeClass("error");
  }
});