我正在尝试验证一个选择,这是选择一个选项以继续该过程所必需的。如果没有选择任何选项,那么它应该给出一个警告框,否则它应该打开模态。在我的例子中,模态以任何一种方式打开。
<select class="form-control" id="account_name" name="account_name">
<option value="">Select Customer..</option>
<?php
while ($rows = pg_fetch_assoc($result)) { ?>
<option value="<?= $rows['address1'] . ' ' .
$rows['address2'] . ' ' . $rows['address3'] .' '.$name. '-' .
$rows['account_code']; ?>"><?= $rows['account_name']; ?>
</option>
<?php } ?>
</select>
<div class="wrapper1" id='business1'>
<input type="submit" id="myBtn" value="New Order" style="height:55px; width:170px; margin-left: -50px;" class="btn btn-success" />
</div>
<!-- JQUERY -->
$(document).ready(function () {
$("#myBtn").click(function () {
if ($("#account_name").val() === NULL){
alert('Please select an option');
}
else
{
$('#myModal').modal('show');
}
});
});
使用此代码,模式不会显示在任何选择上,也不会显示警告框。
我也试过这样做
<select class="form-control" id="account_name" name="account_name"
required>
尽管此处应用了验证,但如果未选择任何选项,模式仍会在提交时打开。
最佳答案
javascript 区分大小写,因此 NULL 不为空。 Javascript 也试图提供帮助,并将变量(如 NULL)转换为字符串(如果它们不存在),因此您的代码说 if ($(...).val() === 'NULL') 这是从来都不是真的,因此模态出现了。 Javascript 还将任何错误值转换为错误...因此 null、''、0 和未定义都是错误的,我假设您没有使用 0 或 '' 作为您的选项之一,因此您可以简单地 if (!$ (...).val()), 而不是
关于javascript - 如何在打开模式的同一按钮单击上验证选择字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54704877/