【问题标题】:Alert Box appear only when alerts from parsley.js are active仅当来自 parsley.js 的警报处于活动状态时才会出现警报框
【发布时间】:2013-05-17 06:36:24
【问题描述】:

我正在使用 Bootstrap 和 parsley.js(用于表单验证)一切正常,除了我现在在警报中显示错误消息(引导程序)现在警报框显示在屏幕上是否有错误或不。我希望它仅在有错误时出现,并在 parsley.js 没有任何错误时消失。我已经尝试研究这个问题,发现一些隐藏警报框的代码,但没有一个与 Parsley.js 的警报一起使用。我输入了我自己的 Javascript,它认为我可以让它工作,但它没有(显然)。我应该改变什么?我应该把 javascript 一起扔掉然后做其他事情吗?我真的很希望每个警报都出现在它自己的警报框中,一个叠一个。我发了jsFiddle

两部分问题

  1. 仅在内部出现错误时才显示警告框。

  2. 使从 Parsley.js 传递的每个警报都显示在它自己的警报框中(彼此堆叠在一起)

尝试的 Javascript:

var x = document.getElementById("ol-error-container").innerHTML

            if (x == "")
            {
                document.getElementById("error-container").className +=" hide";
            }
            else
            {
                document.getElementById("error-container").className =" alert";
            }

HTML 表单代码:

<form class="form-horizontal well" data-validate="parsley" method="post">
<div class="control-group">
    <input type="text" class="input-xlarge" id="fullName" placeholder="Full Name" data-required="true" data-error-container="ol#ol-error-container li.error-message" data-error-message="Please provide your name!">
</div>
<div class="control-group">
    <input type="text" class="input-xlarge" id="email" placeholder="E-mail Address" data-required="true" data-type="email" data-error-container="ol#ol-error-container li.error-message" data-error-message="You must provide a valid Email Address">
</div>
<div class="control-group">
    <input type="text" class="input-xlarge" id="phoneNumber" placeholder="Phone Number" data-required="true" data-type="phone" data-error-container="ol#ol-error-container li.error-message" data-error-message="You must provide a valid US Phone Number">
</div>
<div class="control-group">
    <textarea cols="5" class="input-xlarge" id="question" placeholder="Question/Comments" data-required="true" data-minlength="6" data-maxlength="200" data-error-container="ol#ol-error-container li.error-message" data-error-message="Please provide a message that is 6-200 characters in lenght."></textarea>
</div>
<div class="control-group">
    <div class="input-append">
        <input class="input-medium" id="priority" type="text" disabled>
        <div class="btn-group" data-required="true">
            <button class="btn dropdown-toggle" data-toggle="dropdown">Priority <span class="caret"></span> 
            </button>
            <ul class="dropdown-menu" id="selectPriority">
                <li><a onclick="document.getElementById('priority').value='High'">High</a>

                </li>
                <li><a onclick="document.getElementById('priority').value='Normal'">Normal</a>

                </li>
                <li><a onclick="document.getElementById('priority').value='Low'">Low</a>

                </li>
            </ul>
        </div>
    </div>
</div>
<div class="control-group">
    <button type="submit" class="btn btn-primary">Submit</button>
    <input type="reset" class="btn" value="cancel">
    <hr>
    <p class="muted"><small>We will never sell or provide your information to anyone!</small>

    </p>
</div>

HTML 警报框代码:

<div class="alert" id="error-container">
<ol id="ol-error-container" style="list-style-type:none">
    <li class="error-message" style="list-style-type:none"></li>
</ol>

【问题讨论】:

    标签: javascript html twitter-bootstrap parsley.js


    【解决方案1】:

    应该是x == "" 而不是x = ""

    【讨论】:

    • OK,但是空的时候还是不隐藏。 :) 谢谢你的错误发现!
    猜你喜欢
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多