не может отобразить метку из JavaScript - PullRequest
0 голосов
/ 13 октября 2011

Я проверяю форму из JavaScript. Цель: , если пользователь не введет значение в обязательное поле, появится сообщение об ошибке, которое исчезнет через несколько секунд. НО Проблема: Сообщение об ошибке не отображается, и это, вероятно, потому, что из-за JavaScript я не могу написать сообщение об ошибке в элемент управления метки. НО, если я использую предупреждение javascript вместо отображения метки, это работает.

код: 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>

HTML

<div class="round-conf-box" id="confirmationDV">
            <div class="round-conf-tl">
                <div class="round-conf-tr"></div>
                <div class="round-conf-background_color_top"></div>
            </div>
            <div class="round-conf-box-Content">
                <asp:Label ID="lblConfirmation" runat="server" CssClass="confirmationLabel"></asp:Label>
            </div>
            <div class="round-conf-bl">
                  <div class="round-conf-br"></div>
                  <div class="round-conf-background_color_bottom"></div>
            </div>

//... некоторые другие вещи

<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
}}

Было бы хорошо, если бы кто-нибудь мог помочь мне найти мои ошибки .. ура

1 Ответ

1 голос
/ 13 октября 2011

Вы смешиваете jQuery и JScript только для IE.

Убедитесь, что вы используете только 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;
    }

до

$("#<%=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");
  }
});
...