quisiera q alguien me oriente con este problemita: Tengo una pagina en php que recibe los datos de los documentos pendientes de datos (cantidad, numeracion y en algunos casos el numero de poliza):
Código PHP:
<?php
for ($i=0,$n=sizeof($order->products);$i<$n;$i++) {
echo ' <tr>';
if($order->products[$i]['pend']>1){
echo tep_draw_form('order_product_edit'.$order->products[$i]['opid'],tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO,'order_id='.$HTTP_GET_VARS['order_id'],'SSL'),'post','onSubmit="return validar(this,'.$order->products[$i]['dignum'].','.$order->products[$i]['digpol'].');"').tep_draw_hidden_field('action','process').tep_draw_hidden_field('op_id',$order->products[$i]['opid']).'<td class="main" align="right" valign="top" width="60">'.tep_draw_input_field('op_qty',$order->products[$i]['qty'],'size="5" onkeypress="return numint(event);"').' -</td>
<td class="main" valign="top">'.$order->products[$i]['name'].' ['.$order->products[$i]['model'].'] <span class="errorText">'.TEXT_PRODUCTS_PENDING.'</span>';
if($order->products[$i]['dignum']>0){
echo '<br> '.TEXT_PRODUCTS_NUMINI.' '.$order->products[$i]['prenum'].tep_draw_input_field('op_numini',$order->products[$i]['numini'],'size="'.$order->products[$i]['dignum'].'" maxlength="'.$order->products[$i]['dignum'].'" onkeypress="return numint(event);"').$order->products[$i]['sufnum'];
}
if($order->products[$i]['digpol']>0){
echo '<br> '.TEXT_PRODUCTS_POLINI.' '.$order->products[$i]['prepol'].tep_draw_input_field('op_polini',$order->products[$i]['polini'],'size="'.$order->products[$i]['digpol'].'" maxlength="'.$order->products[$i]['digpol'].'" onkeypress="return numint(event);"').$order->products[$i]['sufpol'];
}
echo ' </td>
<td class="main">'.tep_image_submit('button_update.gif').'</td></form>';
<td class="main" align="center" valign="top">'.tep_date_short($order->products[$i]['ddate']).'</td>
<td class="main" align="right" valign="top" width="60">'.$order->products[$i]['dqty'].'</td>
</tr>."\n";
}
?>
Código:
Mi problema es que cuando ingreso un input en cualquiera de los form y lo envio, me cambia el valor en el resto de la pagina. trate poniendo el valor del op_id entre corchetes con las variables (ejem: op_numini[20]) pero al momento de validarlo en el java me salieron errores o no lo validaba. De que forma podria manejarlo para que no me cambie el valor de los otros form.<script language="javascript"><!-- function numint(evento){ var number="0123456789"; var tecla=evento||window.event; var codcar=tecla.charCode||tecla.keyCode; var car=String.fromCharCode(codcar); return number.indexOf(car)!=-1; } function validar(form,dn,dp){ var error_message="<?php echo JS_ERROR; ?>"; var error_found=false; var error_field; var qty=form.op_qty.value; var int_qty; if((qty=='')||(qty.length<1)||(qty==0)){ error_message=error_message + "* \"Cantidad\" debe ser un número entero mayor a cero\n"; error_field=form.op_qty; error_found=true; } if(qty.length>0){ int_qty=parseInt(qty,10); if(isNaN(int_qty)){ error_message=error_message+"* \"Cantidad\" debe ser un número entero\n"; error_field=form.op_qty; error_found=true; } }else{ int_qty=0; } if(dn>0){ var numini=form.op_numini.value; var int_numini; if((numini=='')||(numini.length<1)||(numini==0)){ error_message=error_message + "* \"Número Inicial\" debe ser un número entero mayor a cero\n"; error_field=form.op_numini; error_found=true; } if(numini.length>0){ int_numini=parseInt(numini,10); if(isNaN(int_numini)){ error_message=error_message+"* \"Número Inicial\" debe ser un número entero\n"; error_field=form.op_numini; error_found=true; } }else{ int_numini=0; } } if(dp>0){ var polini=form.op_polini.value; var int_polini; if((polini=='')||(polini.length<1)||(polini==0)){ error_message=error_message + "* \"Póliza Inicial\" debe ser un número entero mayor a cero\n"; error_field=form.op_polini; error_found=true; } if(polini.length>0){ int_polini=parseInt(polini,10); if(isNaN(int_polini)){ error_message=error_message+"* \"Póliza Inicial\" debe ser un número entero\n"; error_field=form.op_polini; error_found=true; } }else{ int_polini=0; } } if(error_found==false){ return true; }else{ alert(error_message); error_field.focus(); return false; } } //--></script>
Gracias de antemano por cualquier ayuda...
...Edwin