我们使用phpipam。
我们发现,如果直接在subnet字段中输入数据,则不会执行内置的cidr计算,并且可以将重叠的子网输入到数据库中。
我们希望在维护系统架构的同时拒绝用户直接输入到字段,并允许用户通过下拉列表输入。
以html显示的子网编辑页
<?php if (!$showDropMenuFull){ ?>
<input type="text" class="form-control input-sm input-w-200" name="subnet" placeholder="<?php print _('subnet in CIDR'); ?>" value="<?php print @$cidr; ?>" <?php if ($readonly) print "readonly"; ?>>
<?php } else { ?>
<div class="input-group input-w-200">
<input type="text" class="form-control input-sm input-w-200" name="subnet" placeholder="<?php print _('subnet in CIDR'); ?>" value="<?php print @$cidr; ?>">
<?php if (strlen($dropdown_menu)>0) { ?>
<div class="input-group-btn">
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Select <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right dropdown-subnets">
<?php print $dropdown_menu; ?>
</ul>
</div>
<?php } ?>
</div>
<?php } ?>
1条答案
按热度按时间8mmmxcuj1#
尝试添加
readonly
属性为input
. 它应该防止用户编辑input
文本,但脚本应该能够继续编辑,而且它将以表单的形式提交。它看起来像这样:
你也可以用
readonly
没有值,但是如果您使用的是xhtml,请记住属性缩小是被禁止的,所以它必须是完整的。