背景 我有一个 PHP 从我的数据库生成的表单。该页面是晚宴活动的座位注册。每个 [晚餐] 餐桌都会收到一定数量的招待会门票。例如,一张 10 个座位的桌子,可能有 7 张晚宴门票和 3 张主席招待会门票。
每行都有一个前缀值,它将前缀存储在一个数组中,我循环通过该数组来获取我的值。看起来像:
<select name='prefix[]' onchange='prefixCheck(this.value)' >
<option value=''>Select</option>
<option value='Mr.'selected >Mr.</option>
<option value='Ms.' >Ms.</option>
<option value='Dr.' >Dr.</option>
<option value='Sen.' >Sen.</option>
<option value='Sec.' >Sec.</option>
<option value='Rep.' >Rep.</option>
</select>
prefix[]
我的表单上会有不同数量的这些字段。我的页面顶部还有一个计数器,显示一张桌子目前有多少张联欢晚会和主席招待会门票:
<td align = left>
Total Gala Reception Tickets Available:
</td>
<td align = center>
<input type='text' size='2' id='gala' name='gala' value=7 style='background-color:#C8C8C8 '>
<input type='hidden' size='2' id='gala_orig' name='gala' value=7 >
</td>
</tr>
<tr>
<td align = left>
Total Chairman's Reception Tickets Available
</td>
<td align = center>
<input type='text' id='chairman' name='chairman' size='2' value=3 style='background-color:#C8C8C8 '>
<input type='hidden' id='chairman_orig' name='chairman' size='2' value=3 >
</td>
</tr>
目标Sen.
, Sec.
,
的前缀值Rep.
是特殊的,这意味着如果用户为每个座位选择其中任何一个,我gala
想要减少的计数和chairman
增加的数字。我有这个 javascript 函数,但我似乎是一个关键部分。如果用户选择Sen.
,则动作发生,但如果他们选择另一个限定前缀,则动作再次发生;减少晚会,增加椅子。
function prefixCheck(v){
gala_limit = document.getElementById('gala').value;
chair_limit = document.getElementById('chairman').value;
if(v == 'Sec.' || v == 'Sen.' || v == 'Rep.'){
gala_limit--;
chair_limit++;
document.getElementById('gala').value = gala_limit;
document.getElementById('chairman').value = chair_limit;
}
else{
document.getElementById('gala').value = document.getElementById('gala_orig').value;
document.getElementById('chairman').value = document.getElementById('chair_orig').value
}
}
我不想改变prefix
数组的对象结构。我错过了什么?