el problema es que al introducir el codigo recupero bien la información, pero a continuacion cuando quiero actualizar los valores en el form estos todavia no tienen valor. De momento he colocado un boton que lanza esta segunda funcion y lo hace correctamente pero el usuario debo clickar.
he buscado en el foro y creo que es un problema de ajax de sincronizacion pero no consigo arreglarlo en mi programa.
estas son las funciones
Código HTML:
<div class="row"> <div class="form-group"> <label class="col-sm-1 control-label">Cod.</label> <div class="col-sm-1"> <input type="text" class="form-control" maxlength="8" name="monVenta" id="monVenta" onBlur="MostrarConsulta('c_montura.php','divmontura');" /> </div> <div class="text-left col-sm-1"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" onClick="fracc_mon()"> <i class="fa fa-search"></i> </a> </div> <div class="col-sm-2"> <input type="text" class="form-control" name="modMontura" id="modMontura" disabled> </div> <div class="col-sm-1"> <input type="text" class="form-control" name="colMontura" id="colMontura" disabled> </div> <div class="col-sm-1"> <input type="text" class="form-control" name="medMontura" id="medMontura" disabled> </div> <div class="col-sm-1"> <input type="text" class="form-control" name="pvpMontura" id="pvpMontura" disabled> </div> <div name="divmontura" id="divmontura" style="visibility:hidden"></div> </div> <!-- /.form-group --> </div> <!-- /.row -->
Código:
y la funcion que divide y debe mostrar los camposfunction objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function MostrarConsulta(procphp,salida) { //donde se mostrará lo resultados byId divcontenidor = document.getElementById('divmontura'); //valores de los cajas de texto byName ajaxmontura=document.formdetall.monVenta.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usando del medoto POST //archivo que realizará la operacion ->actualizacion.php ajax.open("POST", "c_montura.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar los nuevos registros en esta capa divcontenidor.innerHTML = ajax.responseText } } //muy importante este encabezado ya que hacemos uso de un formulario ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("codimon="+ajaxmontura); }
Código:
como ejecuto las dos funciones correlativas? /* fracionar el contenido */ function fracc_mon() { var textinici= divmontura.innerHTML; if (textinici == "ND") { alert('Montura no definida'); } else { var textseparat = textinici.split('#'); formdetall.modMontura.value= textseparat[0]; formdetall.colMontura.value= textseparat[1]; formdetall.medMontura.value=textseparat[2]; formdetall.pvpMontura.value=textseparat[3]; formdetall.vtaImpMontura.value=textseparat[4]; /* formdetall.detallmontura.value="<img src='../weboptica/muntures/1022346.jpg'> "; */ } } // fanal fraccionar