我目前有一个表单,其中包含一些基于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>
答案 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将被更新,下一个正确显示为递增。