-1

我正在尝试创建一条错误消息以显示给用户,但它似乎不起作用。如果缺少用户输入,错误消息应该会在其中包含其他消息,然后在一个跨度中显示所有错误(红色),每个错误都在一行中。

        $(function() {
            $("#intButton").click(function() {
                var errorMsg = "";
                $errorMsg = $(errorMsg);
                $($errorMsg).css("color", "red");
                if (!$("#intMin").val()) $($errorMsg).append("<p>Enter a minimum value!</p>");
                if (!$("#intMax").val()) $($errorMsg).append("<p>Enter a maximum value!</p>");
                $("#intResult").text($($errorMsg).text());
            });
        });

HTML:

Min:<input type="text" id="intMin">
Max:<input type="text" id="intMax">
Result: <span id="intResult"></span>

这根本没有显示任何错误,它根本不起作用。跨度内没有显示任何内容。

http://jsfiddle.net/kWTkT/1/

4

3 回答 3

4

一个更简单的方法是简单地创建一个 CSS 类error

.error {
    color: red;
}

然后只需将类添加到p元素上append

$("#intButton").click(function() {
    var errorMsg = "";
    if (!$("#intMin").val()) errorMsg += "Enter a minimum value. <br />";
    if (!$("#intMax").val()) errorMsg += "Enter a maximum value. ";

    //Display the error:
    $("#intResult").html("<p class='error'>" + errorMsg + "</p>");
});
于 2013-06-18T13:22:11.497 回答
0

如果您想将每个错误消息保留在单独的段落标记中,您可以执行以下操作:

CSS

.errorResults{ 
    color: red; 
}

HTML

Min: <input type="text" id="intMin" /><br />
Max: <input type="text" id="intMax" /><br />
Result: <span id="intResult" class="errorResults" ></span><br />
<button id="intButton">Test</button>

脚本

$(function () {
    $("#intButton").click(function () {
        var errorMsg = "";
        if (!$("#intMin").val()) {
            errorMsg += "<p>Enter a minimum value!</p>";
        }
        if (!$("#intMax").val()) {
            errorMsg += "<p>Enter a maximum value!</p>";
        }
        $("#intResult").html(errorMsg);
    });
});

JSFiddle 演示

于 2013-06-18T13:55:36.413 回答
0

检查你是否在寻找这个

<html><head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">  
  <script type="text/javascript" src="http://code.jquery.com/jquery-git.js"></script>
</head>
<body style="">
  Min:
<input type="text" id="intMin">
<br>
<br>Max:
<input type="text" id="intMax">
<br>
    <input type="button" value="click" id="intButton">
<br>Result: <span id="intResult"></span>
<script type="text/javascript">//<![CDATA[ 

        $(function() {
            $("#intButton").click(function() {
                var errorMsg = "";
                console.log('enter');
                $errorMsg = $(errorMsg);
                $($errorMsg).css("color", "red");
                if ($("#intMin").val()=='') $('#intResult').append("<p>Enter a minimum value!</p>");
                if ($("#intMax").val()=='') $('#intResult').append("<p>Enter a maximum value!</p>");

            });
        });
//]]>  

</script>
</body>
</html>

演示

于 2013-06-18T13:34:38.727 回答