问题:如果特定字段为空,我希望能够提醒用户。表单外观如下:

javascript - 警报用户字段为空-LMLPHP

当用户输入邮政编码并选择搜索时,我希望显示一个弹出窗口来提醒用户选择距离而不显示结果。如果用户输入医院名称并且城市下拉列表,我不希望出现警报。仅在输入邮政编码和选择搜索按钮时。

形式如下:

  <div class="panel panel-default">
<div class="panel-body">
    <form name="UrgentCareSearch" ng-submit="SearchUrgentCare(searchParam);" novalidate role="form" onsubmit="return validateForm()">
        <div class="form-group"><input class="form-control" id="hospital" ng-model="searchParam.HospitalName" placeholder="Hospital Name" type="text" /></div>

        <div class="form-group">
        <select class="form-control" id="city" ng-model="searchParam.City">
        <option disabled="disabled" selected="selected" value="">City</option>
        <option value=""></option>
                      <cfoutput query="HospCityFind">
                      <option value=#officecity#>#officecity#</option>
                    </cfoutput>
                  </select></div>

        <hr />
        <div style="margin-top:-10px; margin-bottom:10px; text-align:center; font-size:8pt! important"><strong>* OR Search by Zip code radius *</strong></div>

    <div class="row">
        <div class="col-xs-7 no-right-padding">
            <div class="form-group">
                <div class="input-group">
                    <select class="form-control" id="miles" name="distance" ng-model="searchParam.Distance">
                        <option></option><option >5</option><option>10</option><option>15</option><option>20</option>
                    </select>
                    <div class="input-group-addon">miles</div>
                </div>
            </div>
        </div>

        <div class="col-xs-5 no-left-padding widthZip">
            <div class="form-group"><input allow-pattern="[\d\W]" class="form-control" id="zip" maxlength="5" ng-model="searchParam.Zip" placeholder="Zip code" type="text" /></div>
        </div>
    </div>

        <div class="form-group"><input class="btn btn-warning btn-block" ng-click="gotoElement('SearchResultsAnchor');" type="submit" value="Search" /></div>
    </form>
</div>




以下是当里程为空时发出警报的脚本:

function validateForm() {
    var x = document.forms["UrgentCareSearch"]["distance"].value;
    if (x == "" || x=="null") {
        alert("Please select distance");
        return false;
    }


更新

我已经完成了以下操作,但仍然无法按我想要的方式工作(即在输入搜索按钮以及用户输入邮政编码时显示警报。这意味着一旦用户输入了邮政编码并单击在搜索按钮上填充结果时,警报将显示,通知您选择里程,并且直到用户输入了多少英里并再次单击搜索后,结果才会显示:

function validateForm() {
        var x = document.forms["UrgentCareSearch"]["miles"].value;
        var $zip = $('#zip');
        if ((x == "" && $zip != "") ||(x=="null" && $zip != "")) {
            alert("Please select distance");
            return false;
        }


这是我使用时所需要的:

  <div class="panel panel-default">
<div class="panel-body">
    <form name="UrgentCareSearch" ng-submit="SearchUrgentCare(searchParam);" novalidate role="form" onsubmit="return checkTextField()">
        <div class="form-group"><input class="form-control" id="hospital" ng-model="searchParam.HospitalName" placeholder="Hospital Name" type="text" /></div>

        <div class="form-group">
        <select class="form-control" id="city" ng-model="searchParam.City">
        <option disabled="disabled" selected="selected" value="">City</option>
        <option value=""></option>
                      <cfoutput query="HospCityFind">
                      <option value=#officecity#>#officecity#</option>
                    </cfoutput>
                  </select></div>

        <hr />
        <div style="margin-top:-10px; margin-bottom:10px; text-align:center; font-size:8pt! important"><strong>* OR Search by Zip code radius *</strong></div>

    <div class="row">
        <div class="col-xs-7 no-right-padding">
            <div class="form-group">
                <div class="input-group">
                    <select class="form-control" id="miles" name="distance" ng-model="searchParam.Distance" ng-options="mile.value for mile in miles" required>
                         <option value=""></option><option >5</option><option>10</option><option>15</option><option>20</option>
                    </select>
                    <div class="input-group-addon">miles</div>
                </div>
            </div>
        </div>

        <div class="col-xs-5 no-left-padding widthZip">
            <div class="form-group"><input allow-pattern="[\d\W]" class="form-control" id="zip" maxlength="5" ng-model="searchParam.Zip" placeholder="Zip code" type="text" /></div>
        </div>
    </div>

        <div class="form-group"><input class="btn btn-warning btn-block" ng-click="gotoElement('SearchResultsAnchor');" type="submit" value="Search" /></div>
    </form>
</div>

最佳答案

如果将每个requiredinput元素添加为select,则将其保留为空白将阻止提交表单



<div class="panel panel-default">
<div class="panel-body">
    <form name="UrgentCareSearch" ng-submit="SearchUrgentCare(searchParam);" novalidate role="form" onsubmit="return validateForm()">
        <div class="form-group"><input class="form-control" id="hospital" ng-model="searchParam.HospitalName" placeholder="Hospital Name" type="text" required /></div>

        <div class="form-group">
        <select class="form-control" id="city" ng-model="searchParam.City" required>
        <option disabled="disabled" selected="selected" value="">City</option>
        <option value=""></option>
                      <cfoutput query="HospCityFind">
                      <option value=#officecity#>#officecity#</option>
                    </cfoutput>
                  </select></div>

        <hr />
        <div style="margin-top:-10px; margin-bottom:10px; text-align:center; font-size:8pt! important"><strong>* OR Search by Zip code radius *</strong></div>

    <div class="row">
        <div class="col-xs-7 no-right-padding">
            <div class="form-group">
                <div class="input-group">
                    <select class="form-control" id="miles" name="distance" ng-model="searchParam.Distance" required>
                        <option></option><option >5</option><option>10</option><option>15</option><option>20</option>
                    </select>
                    <div class="input-group-addon">miles</div>
                </div>
            </div>
        </div>

        <div class="col-xs-5 no-left-padding widthZip">
            <div class="form-group"><input allow-pattern="[\d\W]" class="form-control" id="zip" maxlength="5" ng-model="searchParam.Zip" placeholder="Zip code" type="text" /></div>
        </div>
    </div>

        <div class="form-group"><input class="btn btn-warning btn-block" ng-click="gotoElement('SearchResultsAnchor');" type="submit" value="Search" /></div>
    </form>





或者可以jquery触摸一下

首先给您的表格一个id让我们说myform

$(document).ready(function()
{
    $('#myform').submit(function()
    {
        var name = $("#hospital").val();
        var name = $("#city").val();
        if(name == "" || name == " ")
        {
            alert("Please enter name");
            return false;
        }
        if(city == "" || city== " ")
        {
            alert("Please enter city");
            return false;
        }

        //Just like this and at the end when you are satisfied
        $(this).submit();
    });
});

关于javascript - 警报用户字段为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41751036/

10-12 00:00
查看更多