Javascript 当表单中的特定字段为空时,如何防止结果填充

Javascript 当表单中的特定字段为空时,如何防止结果填充,javascript,Javascript,问题:我希望在用户输入邮政编码时,如果未选择“英里数”下拉框,则不会填充结果。我尝试了以下方法以获得以下结果:当用户使用邮政编码选项而忘记输入里程下拉列表时,会出现一个警报,提示用户选择里程: function checkTextField() { var distance = document.forms["UrgentCareSearch"]["distance"].value; var zip = document.forms["UrgentCareSearch"]["zi

问题:我希望在用户输入邮政编码时,如果未选择“英里数”下拉框,则不会填充结果。我尝试了以下方法以获得以下结果:当用户使用邮政编码选项而忘记输入里程下拉列表时,会出现一个警报,提示用户选择里程:

function checkTextField() {
    var distance = document.forms["UrgentCareSearch"]["distance"].value;
    var zip = document.forms["UrgentCareSearch"]["zip"].value;
    /*if(zip && distance || !zip && !distance){
        return true;
    }else{
        var alertMessage = "Please Select Distance When You Are Entering A Zip Code.";
        alert(alertMessage);
        return false;
    }*/
    if((zip && !distance) && ){
        var alertMessage = "Please Select Distance When You Are Entering A Zip Code.";
        alert(alertMessage);
        return false; //Does not submit form
    }
    else
        return true;
}
以下是表格:

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

城市
#公职#

*或按邮政编码半径搜索* 5101520 英里

不幸的是,js不起作用。警报确实会触发,但结果仍会填充


我的问题是:有没有其他方法可以实现同样的目标

你刚才不是问了同样的问题吗?还有,为什么这个标签是CF?听起来这真的是一个javascript问题。@Leigh:use你是对的。将删除标签和否。如果有其他方法可以解决我的问题。它似乎从未命中return语句。或者点击ng submit,它将始终显示结果。我这里的问题是,他们是否有另一种方法,在邮政编码不是空的情况下,submit按钮首先检查里程是否被选中。如果不是空白,请指示用户选择一个里程数,然后在满意后再次点击“提交”?是否可以使用更多详细信息更新此问题,以显示其不同之处,并避免将其作为重复关闭?因为对我缺乏咖啡因的大脑来说,这听起来仍然像一个复制品;-)