emprear, gracias por tu tiempo
De pronto yo no me he hecho entender o tal vez ya se distorsiono la idea inicial de lo que yo quiero hacer.
Te explico, yo tengo el siguiente formulario, el cual tiene el campo, id y nombre, estos campos se validan y se insertan a la dabse de datos sin problemas a traves de una funcion validar_solicitud_nueva(). Este me funciona perfecto. el problema es que en este formulario tengo un campo file el cual no he podido pasar a traves de la funcion para ser guardado en la base de datos.
Leyendo y probando encontre que no se puede pasar el archivo a traves de la funcion, me sugieren que lo pase a traves de un iframe,
el problema es que no logro entender como integrar el iframe a lo que ya tengo, para pasar el archivo junto con los campo ID y NOMBRE, los cuales ya pasan
En el formulario el action lo tengo definido asi action="" para que no se ejecute ningun script, ademas el formulario se ejecuta a traves de una funcion y no del submit.
Te preguntaras ¿porque no uso el action y submit como se usa normalmente en un formulario? Porque el formulario lo ejecuto en una capa dentro de una pagina y si ejecuto el formulario de la forma tradicional el script del action se ejecuta dentro de la browser y no dentro de la capa de la pagina, como si me lo hace actualmente. Con la funcion logro que el script se ejecuta dentro de la capa.
Código HTML:
Ver original<form method="post" action="" name="solicitud_nueva" accept-charset="utf-8" enctype="multipart/form-data">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<td width="20%" align="right"><b>Id:
</b></td> <td width="80%" align="left"><input type="text" name="solicitud_id" id="solicitud_id" size="57"></td> <td width="20%" height="15px" align="center"></td><td width="80%" align="center" id="mensaje_id" class="p11"></td>
<td width="20%" align="right"><b>Nombre:
</b></td> <td width="80%" align="left"><input type="text" name="solicitud_nombre" id="solicitud_nombre" size="57"></td> <td width="20%" height="15px" align="center"></td><td width="80%" align="center" id="mensaje_nombre" class="p11"></td>
<td width="20%" align="right"><b>Archivo:
</b></td> <td width="80%" align="left"><input type="file" name="solicitud_archivo" id="solicitud_archivo"></td> <td width="20%" height="15px" align="center"></td><td width="80%" align="center" id="mensaje_archivo" class="p11"></td>
<td width="100%" colspan="2"><p class="p13"><input type="button" value=" Enviar " onclick="validar_solicitud_nueva()"> <input type="reset" value=" Borrar "></p></td>
Código HTML:
Ver originalfunction validar_solicitud_nueva(){
var divResultado1 = document.getElementById('mensaje_id');
var divResultado2 = document.getElementById('mensaje_nombre');
var divResultado3 = document.getElementById('solicitud_nueva');
if ((document.getElementById('solicitud_id').value == "") || (!/^[0-9]+$/.test(document.getElementById('solicitud_nombre').value))) {
if (document.getElementById('solicitud_id').value == "") {
var ccc1 = "Debe ingresar un ID";
}else{
var ccc1 = " ";
}
if (!/^[a-zA-Z]+$/.test(document.getElementById('solicitud_nombre').value)) {
var ccc2 = "Debe diligenciar el campo Nombre";
}else{
var ccc2 = " ";
}
ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado1.innerHTML = ccc1;
divResultado2.innerHTML = ccc2;
}
}
ajax.send(null)
}else{
var var1 = document.getElementById('solicitud_id').value;
var var2 = document.getElementById('solicitud_nombre').value;
ajax=objetoAjax();
ajax.open("GET", 'insertarso.php?id='+var1+'&nombre='+var2);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado3.innerHTML = ajax.responseText;
}
}
ajax.send(null)
}
}