表单中基于php的元素的Tab顺序

时间:2013-04-22 03:01:38

标签: php tab-ordering

我目前有一个表单,其中包含一些基于php的元素。在表单中,当我在表单中进行选项卡时,会跳过这些基于php的元素。如何在表单中设置基于php的元素的Tab键顺序?

这是代码的子集。我希望结算国家/地区的标签顺序为13(在拉链和手机之间)。

<div class="controls"><input placeholder="Zip Code" name="billing_zip"  tabindex="12"  type="text" class="medium" id="billing_zip" value="<?php echo $order['billing']['zip']; ?>" /></div>
<div class="controls"><?php echo country_box($order['billing']['country'], "billing_country"); //echo Html::state_box($order['billing']['state'], 'billing_state', 'state custom mini', array('display' => 'abbrev', 'display_case' => 'upper', 'optional' => true));?></div>
<div class="controls"><input placeholder="Phone" name="billing_phone"  tabindex="14"  type="text" id="billing_phone" value="<?php echo $order['billing']['phone']; ?>"/></div>

1 个答案:

答案 0 :(得分:0)

要真正做到这一点,您应该使用PHP脚本或函数生成所有这些HTML。但是,如果这不可能或者太麻烦,您至少可以使用PHP来跟踪选项卡索引,并使用像$tab_index之类的PHP变量来回显和增加tab_index++;。一个例子:

<?php
$tab_index = 1;
?>
<input ... name='zip' tabindex='<?php echo $tab_index; $tab_index++; ?> type='text' />
<input ... name='country' tabindex='<?php echo $tab_index; $tab_index++; ?> type='text' />
<input ... name='phone' tabindex='<?php echo $tab_index; $tab_index++; ?> type='text' />

每个++,tabindex将被更新,下一个正确显示为递增。