我们使用phpipam。
我们发现,如果直接将数据输入子网字段,则不会遵循内置的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 } ?>
答案 0 :(得分:0)
尝试将readonly
属性添加到input
。它应该阻止用户编辑input
文本,但脚本应该继续能够编辑,并且它将在表单中提交。
看起来像这样:
<input type="text" class="form-control input-sm input-w-200" name="subnet" placeholder="<?php print _('subnet in CIDR'); ?>" value="<?php print @$cidr; ?>" readonly="readonly">
您也可以使用readonly
而不使用值,但如果您使用的是XHTML,请记住禁止使用属性缩小,因此必须完成。