Ciao a tutti,
ho una form con vari input, i quali vengono visualizzati ogni volta che viene inserito il dato nel precedente input. Per visualizzare input 2 devo inserire (e validare) i valori nell'input 1, per l'input 3 devo inserire nell'input 2, e cosi' via...
Il problema nasce nell'impostare il focus sull'input successivo a quello in cui sto scrivendo.
Il focus infatti si sposta sulla barra degli indirizzi del navigatore.
Come posso risolvere?
Grazie in anticipo
Qui il codice js
Codice PHP:
function goToNextStep(iTagId,sNextStep,sNextTag,sValidate){
oTag=document.getElementById(iTagId);
if(!oTag) return;
sValue=(oTag.options)? oTag.options[oTag.selectedIndex].value:oTag.value;
if(sValidate){
if(!validateExp(sValue,sValidate))
return alert('<?=_ERROR_WRONG_VALUE?>');
}
if(trim(sValue)){
fnShowHidde(sNextStep,'');
if(sNextTag){
document.getElementById(sNextTag).style.visibility = 'visible';
document.getElementById(sNextTag).focus();
}
}else
fnShowHidde(sNextStep,'none');
}
Qui il codice html da dove chiamo la funzione (dove plan_name sarebbe l'input 1 e plan_description l'input 2). Chiaramente ci sono altri input...
Codice PHP:
<tr id='step1' >
<td><?=_NAME?></td>
<td><input type="text" id="plan_name" <?=$readonly?> value="<?=$aPlan['plan_name']?>" onblur="goToNextStep(this.id,'step2','plan_description');"></td>
</tr>
<tr id='step2' <?=$display?> >
<td><?=_DESCRIPTION?></td>
<td><input type="text" id="plan_description" name="plan_description" <?=($sAction=='edit')?'':$readonly?> value="<?=$aPlan['plan_description']?>" onblur="goToNextStep(this.id,'step3','state_id');"></td>
</tr>