Crear formulario compuesto

Tengo el problema que desearía un formulario que me suba el fichero elegido al servidor y además que guarde en una base de datos mysql otros campos que tiene el formulario. Ya he intentado con javascript llamar a dos formularios distintos pero no hay forma. ¿Alguna idea?

1 respuesta

Respuesta
1
Pero entonces no estas usando el formulariuo solo, ¿sino qué estas usando también ASPUpload o algo parecido no?
He puesto el formulario con 2 campos, uno de tipo file i el otro uno normal con un valor, y me da el siguiente error:
No se puede usar la colección Request. Form después de llamar a BinaryRead.
Es que sino capturo con request. form como capturo el valor del otro campo?
He probado como me has dicho y no hay forma, al final del formulario tengo un botón que llama a una función javascript, para confirmar si quiere enviar el formulario o no, y si lo dejo todo en multipart/form-data no llama a la función, te pego mi formulario:
<form name="insertar" method="POST" ENCTYPE="multipart/form-data" action="./subir.asp" >
<INPUT TYPE=FILE SIZE=40 NAME="FILE1">
<select style="background-color:#fffff;color:#ff6600;font-family:verdana,arial,helvetica;font-size:9;" size="1" id="partidos" name="partidos" >
<%
do while not rs1.eof
consulta = "Select equnom from equipos WHERE (equcod='" & rs1("calequil") &"')"
set rs2 = CreateObject("ADODB.Recordset")
rs2.Open consulta, Conn
equnomlocal=rs2("equnom")
rs2.close
consulta = "Select equnom from equipos WHERE (equcod='" & rs1("calequiv") &"')"
rs2.Open consulta, Conn
equnomvis=rs2("equnom")
rs2.close
set rs2=nothing
%>
<option value="<%=rs1("numpar")&" "&rs1("calequil")&" "&rs1("calequiv")%>"><%=rs1("numpar")%>  <%=equnomlocal%>-<%=equnomvis%></option>
<%rs1.movenext
loop
rs1.close
set rs1=nothing
%>
</select>
<br><br>
<SELECT id="tipo_fallo" name="tipo_fallo" size="1" style="background-color:#fffff;color:#ff6600;font-family:verdana,arial,helvetica;font-size:9;">
<option selected>Tipo de Fallo</option>
<option value="cc">Comité de Competición</option>
<option value="ca">Comité de Apelación</option>
</SELECT>  
<input type="text" name="fecha_fallo" size ="8" maxlength="8" value="<%=date()%>" > Fecha fallo
<br>
<input type="text" name="observaciones" size ="30" maxlength="100" value="" > Observaciones<br>
<input type="hidden" name="archivo" value="" >
<input type="button" name="botonenviar" value="Grabar" target="_self" style="border-style:inset;border-color:#006699;border-width:1px;background-color:#006699;color:white;font-size:10;font-family:Verdana,Helvetica;" onClick="pregunta()">
</form>
¿Necesito decir los otros campos de que tipo son o algo?
Si, hay una forma de hacer esto con solamente un formulario.
Simplemente tienes que poner el modo de codificación del mismo, es decir, define el formulario de la siguiente forma:
<form action="process-form.asp" method="post"
enctype="multipart/form-data">
Si lo declaras así, podrás subir archivos cuando envíes el formulario, y ademas, podrás recoger normalmente el resto de los cmapos.
No, no necesitas decir de que tipo son los campos, lo que tienes que hacer en un principio es comprobar que datos te ellgan.
De todas formas, pon ENCTYPE en minúsculas, puede ser cualquier tontería, pero vamos, aparentemenete lo trienes correcto.
Lo que si queharia es no llamar a la función javascript en un primer momento, simplemente envialo y posteriormente, una vez funcione, vemos como hacer el tema del javascript, que hay más formas de hjacerlo
Hay algunas restricciones a la hora de usar ASPUPload, en la forma de recuperar los parámetros y el orden en el que lo haces.
Te mando un enlace de google con información acerca de como solucionar e problema que tienes.
http://groups.google.com/groups?q=request.form+binaryRead+aspUpload&qt_s=Buscar
Pero vamos, básicamente, es que si trabajas con ASPUpload, no debes de hacer Request. Form, ya que te da el problema que te aparece,.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas