我有以下HTML / PHP注册表单:
<div class="form_block" id="dob-check" style="display:none; float:left">
<p><label for="sign_up_dob_day">DOB</label> <select name="sign_up_dob_day" id="sign_up_dob_day" class="required"><option value="">-</option><?php for($day = 1; $day <= 31; $day++) : ?>
<option value="<?php echo $day ?>" <?php echo set_select('sign_up_dob_day', $day, ((is_array($dob) && count($dob) == 3 && $dob[2]==$day)? true : false)); ?>><?php echo $day ?></option>
<?php endfor; ?>
</select>
<select name="sign_up_dob_month" class="required">
<option value="">-</option>
<?php $months = getMonthsArray(); ?>
<?php for($month = 1; $month <= 12; $month++) : ?>
<option value="<?php echo $month ?>" <?php echo set_select('sign_up_dob_month', $month, ((is_array($dob) && count($dob) == 3 && $dob[1]==$month)? true : false)); ?>><?php echo $months[$month - 1] ?></option>
<?php endfor; ?>
</select>
<select name="sign_up_dob_year" class="required">
<option value="">-</option>
<?php for($year = 2005; $year >= 1930; $year--) : ?>
<option value="<?php echo $year ?>" <?php echo set_select('sign_up_dob_year', $year, ((is_array($dob) && count($dob) == 3 && $dob[0]==$year || (empty($dob[0]) && $year==1990)))? true : false); ?>><?php echo $year ?></option>
<?php endfor; ?>
</select>
<?php echo form_error('sign_up_dob_day'); ?>
<a class="hand" id="dob-why" onclick="showMessage()"> Why do we need this?</a></p>
</div>
显示如下:
但是,如果用户无法输入DOB,则选择框的格式将完全混乱,如下所示:
我猜是因为在添加所需的&#39;字段时,div的宽度不够?文本。
我尝试过放置一个外部div,但这不起作用。我也尝试过左移,但这也行不通。
我是PHP的新手,因此无法看到如何删除所需的第二个字段&#39;消息 - 这可能有帮助吗?
任何其他想法,例如阻止在div中形成新行?
答案 0 :(得分:0)
尝试在输入和错误消息上使用display: inline-block
而不是display: block
。
应该解决问题。