Código HTML:
<div class="row"> <div class="form-group"> <label class="col-sm-1 control-label">Cod.</label> <div class="col-sm-2"> <input type="text" class="form-control" maxlength="8" name="codMontura" id="codMontura" onChange="MostrarConsulta('c_montura.php','divmontura')" onBlur=" fracc_mon()" /> </div> <div id="divmontura" name="divmontura"></div> <div class="text-left col-sm-1"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <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-2"> <input type="text" class="form-control" name="colMontura" id="colMontura" disabled> </div> <div class="col-sm-2"> <input type="text" class="form-control" name="medMontura" id="medMontura" disabled> </div> </div> <!-- /.form-group --> </div> <!-- /.row -->
Código:
y nos devuelve una cadena tal "modelo#color#medida#" que guardo en el div divmonturafunction MostrarConsulta(procphp,salida){ alert('ajax'); divResultado = document.getElementById(salida); ajax=objetoAjax(); ajax.open("POST", procphp, true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar los nuevos registros en esta capa divResultado.innerHTML = ajax.responseText } } //muy importante este encabezado ya que hacemos uso de un formulario ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send(divResultado) }
para despues aplicarle la funcion fracc_mon y que cada valor me lo situe en los campos del form correspondiente
Código:
el proceso lo hace correctamente, pero los valores que recoge la llamada ajax no los recupera la función que fracciona el resultado.<script> function fracc_mon() { var textinici= divmontura.innerHTML; var textseparat = textinici.split('#'); formdetall.modMontura.value= textseparat[0]; formdetall.colMontura.value= textseparat[1]; formdetall.medMontura.value=textseparat[2]; } </script>
O sea, el problema es que cuando vamos ejecuta el fracc_mon el valor del div divmontura todavia no ha cogido el valor que ha modificado la llamada en ajax.
Y cuando finaliza la llamada onblur es cuando modifica el valor del campo div.
donde está el error? conceptual o de sintaxis
gracias