Hola a todos,
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";
}
?>
es asi que me genera varios forms en la misma pagina. Y tengo unas funciones en javascript que parametran los input:
Código:
<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>
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.
Gracias de antemano por cualquier ayuda...
...Edwin