Gracias por tu respuesta maycolalvarez, créeme que de eso me di cuenta buscando en el foro.
Estuve TODO el santo dia buscando por aqui y por alla, pongo aca la solucion que le encontrado hasta ahora:
y lo probé en todos los navegadores y funciona
Código HTML:
//partida es el id del input
$("#partida").change(function()
{
$(".required9").hide();
if (!validar_archivo(this,"jpg"))
$(".error_par").show();
else
$(".error_par").hide();
});
// la función validar_archivo ahora me quedo asi:
function validar_archivo(elem,tipo,tamanio)
{
var archivo=document.getElementById(elem.id).value;
var extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
//Primero validamos la extension
if (extension!="."+tipo)
{
return false;
}
else //Ni me preocupo por validar el tamaño si no es el tipo correcto
{
checkear(elem);
}
return true;
}
//y checkear es esto:
function checkear(f) {
actionActual = f.form.action;
targetActual = f.form.target;
f.form.action = "includes/validar_archivo.php";
f.form.target = "ver";
f.form.submit();
f.form.action = actionActual;
f.form.target = targetActual;
}
... El formulario es mas o menos así:
<form id="form1" name="form1" action="includes/validar_archivo.php" enctype="multipart/form-data" method="post" onsubmit="return validar();">
<input class="required" id="partida" name="adjuntos[]" type="file" target="uploadedImage">
<div class="errores error_par" style="display:none;">El tipo de archivo debe pdf y <br>no pesar mas de 3MB.</div>
</form>
... Debajo del formulario coloque esto:
<iframe id="ver" name="ver" style="display: block; margin: auto; border-width: 2px; width: 484px; height: 364px;"></iframe>
En el php valido el tamaño del archivo.
Ahora mi duda es la siguiente: ¿Como hago para que en vez de desplegarse el error en el <iframe> aparezca el <div> error_par?