【问题标题】:jquery appending instead of an alert messagejquery 追加而不是警告消息
【发布时间】:2013-04-11 14:54:41
【问题描述】:

我想在 div 中显示一条消息而不是提醒它,然后将其隐藏在 click/blur 由于输入错误而弹出警报。我需要在 div 中显示消息而不是警报。

类似:

$('form.form-calculator input').on('change click', function() {
        if ($(this).val() == 0) {
            var div = $("#AlertMessage");
            div = $("<div id='AlertMessage' onclick='$(this).hide();'></div>");
            $("body").prepend(div);
            this.value=0;
        }
        calc_total();
    });

有警报

 $(function () {
       $('.form input').on('change click focus', function () {
          if ($(this).val() == 0) {
            alert('HELLO');
            this.value = 0;
          }
          calc_total();
       });
    });

【问题讨论】:

  • 这听起来是一个伟大的目标。
  • 它非常不清楚你要做什么..这是我根据你所拥有的最好的猜测(虽然它对我没有多大意义)jsfiddle.net/ccnch
  • @smerny 谢谢,但我怎样才能停止循环?
  • 什么循环?你没有具体说明你想要什么和不想要什么。
  • 由于输入错误而弹出警报。我需要在 div 中显示消息而不是警报。

标签: jquery forms hide prepend


【解决方案1】:
$(function () {
    $('.form input').on('focusout', function () {
        if ($(this).val() == 0) {
            showError('Hello');
        } else {
            $("#AlertMessage").remove();
        }
        calc_total();
    });

    function showError(text) {
        $("#AlertMessage").remove();
        $('<div/>', {
            id: 'AlertMessage',
            text: "Alert! It can't be 0"
        }).prependTo('body');
        // Close on click
        $('body').delegate('#AlertMessage', 'click', function () {
            $(this).hide();
        });
    }
});

【讨论】:

  • 它应该集成到我的代码中。 $('.form input').on('改变点击焦点', function () { if ($(this).val() == 0) { alert('HELLO'); this.value = 0; } calc_total(); });
【解决方案2】:

假设您的两段代码都能正常工作(因为您没有要求对它们进行故障排除),您可以像这样将它们组合成一个:

 $(function () {
       $('.form input').on('change click focus', function () {
          if ($(this).val() == 0) {
            div = $("<div id='AlertMessage' onclick='$(this).hide();'>HELLO</div>");
            $("body").prepend(div);
            this.value = 0;
          }
          calc_total();
       });
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2013-06-10
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多