elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Una pregunta algo tonta!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Una pregunta algo tonta!!!  (Leído 1,875 veces)
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Una pregunta algo tonta!!!
« en: 14 Junio 2011, 19:21 pm »

Buenas!!!

Bueno tengo un form  con 2 botones, cada uno hace una funcion diferente de post,
pero tengo una funcion en javascript para validar que los datos esten bien.
lo que necesito es que cuando se presione uno de los botones este valla y verifique segun la funcion y luego redirija a la pagina que se le pidio.

como puedo hacer esto?

bueno, un ejemplo vale mas que mil palabras.
 asi que aca dejo esto para ver que tengo que cambiar.


Código
  1. <form action="post" method="get" name="datos">
  2.        <table width="950" bordercolordark="#333333">
  3.          <tr>
  4.            <td width="102" align="right">Codigo:</td>
  5.            <td width="305"><Input type="text" name="cod" size="5" maxlength="5" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  6.            <td width="119" align="right">Tipo:</td>
  7.            <td width="404"><Input type="text" name="tipo"  maxlength="20" size="20" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  8.          </tr>
  9.          <tr>
  10.            <td align="right">Marca:</td>
  11.            <td><Input type="text" name="marca" maxlength="20" size="20" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  12.            <td align="right">Estado:</td>
  13.            <td><select name="estado1" id="estado" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C">
  14.              <option value="Disponible">Disponible</option>
  15.              <option value="Agotado">Agotado</option>
  16.              <option value="Oferta">Oferta</option>
  17.              <option value="Descontinuado">Disponible</option>
  18.            </select></td>
  19.          </tr>
  20.          <tr>
  21.            <td align="right">Modelo:</td>
  22.            <td><Input type="text" name="mod" size="20" maxlength="20" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  23.            <td align="right">Oferta? (Y/N):</td>
  24.            <td><Input type="text" name="oferta" size="5" maxlength="1" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  25.          </tr>
  26.          <tr>
  27.            <td align="right">Imagen:</td>
  28.            <td><Input type="file" name="img"></td>
  29.            <td align="right">Fin Oferta:</td>
  30.            <td><Input type="date" name="fecha" size="20"  style="border-bottom-style:groove; border-bottom-width:1px; border-bottom-color:#06C"></td>
  31.          </tr>
  32.          <tr>
  33.            <td align="right">Descripcion:</td>
  34.            <td rowspan="2"><textarea name="desc" id="desc" cols="30" rows="3" maxlength="255" style="border-bottom-style:groove; border-bottom-width:1px; border-bottom-color:#06C"></textarea></td>
  35.            <td align="right">Descuento %:</td>
  36.            <td><Input type="text" name="descuento" size="5"  maxlength="5" style="border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color:#06C"></td>
  37.          </tr>
  38.          <tr>
  39.            <td align="right">&nbsp;</td>
  40.            <td>&nbsp;</td>
  41.            <td><input type="submit" name="save" id="guardar" value="Guardar" class="button1" onClick="return validardato(this.cod.value,this.marca.value,this.modelo.value,this.tipo.value,this.oferta.value,this.fecha.value,this.desc.value,this.descuento.value, this.img.value); this.form.action='save.php">
  42.             <input type="submit" name="query" id="consultar" value="Consultar" class="button1">
  43.                <input type="reset" name="clean" id="clean" value="Limpiar" class="button1">
  44.            </td>
  45.          </tr>
  46.        </table>
  47. <hr/>
  48. </form>

entonces como hago para que cada boton valla y valide y luego siga enviando la informacion a la pagina correspondiente


« Última modificación: 14 Junio 2011, 19:36 pm por Zeroql » En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.710


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Una pregunta algo tonta!!!
« Respuesta #1 en: 14 Junio 2011, 19:24 pm »

Pues no se como tendrás esas validaciones, es decir, en conjunto o independiente. En caso de hacerla en conjuntos, podrías hacer algo como esto...
Código
  1. <form action = "#" method = "POST" onSubmit="return validarGeneral(this);">

Al estilo :http://www.ribosomatic.com/articulos/validando-formulario-con-jquery/


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Una pregunta algo tonta!!!
« Respuesta #2 en: 14 Junio 2011, 19:37 pm »

Shell Root grax pero eso solo me sirve si es un solo boton.

modifique mi mensaje con el form completo para que sea mejor comprendido!!!
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Una pregunta algo tonta!!!
« Respuesta #3 en: 15 Junio 2011, 04:10 am »

llamas desde tu función de validación al submit, algo así:

Código:
document.forms["myform"].submit();
document.myform.submit();

el problema con validar desde el cliente es que te lo puedes saltar no más deshabilitando el javascript, no olvides las validaciones del lado del servidor.

En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.710


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Una pregunta algo tonta!!!
« Respuesta #4 en: 15 Junio 2011, 08:31 am »

Shell Root grax pero eso solo me sirve si es un solo boton.

Para que veas que no, si usas tú lógica puedes implementarlo fácilmente con 2, 3, 4, 5, etc...  :silbar:
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
WHK
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.536


The Hacktivism is not a crime


Ver Perfil WWW
Re: Una pregunta algo tonta!!!
« Respuesta #5 en: 15 Junio 2011, 08:50 am »

De todas formas te recomiendo validar todo en php y no javascript y mas aun si es algo que compromete seguridad porque bastaría con presionar un botón para deshabilitar javascript en mi explorador y saltar toda tu verificación.
En línea

Telegram: @WHK102 - Semáforo Epidemiologico Chile
barbieturico

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: Una pregunta algo tonta!!!
« Respuesta #6 en: 16 Junio 2011, 19:49 pm »

Totalmente de acuerdo con las respuestas anteriores, haz tus validaciones en lado servidor.
De todas formas, una opción para hacer lo que quieres es llamar a la misma función desde los dos botones con un parámetro indicando una diferencia, ahí ya a tu gusto, y luego cambiar el action del formulario desde javascript. Eso sí, seguridad poca... Un ejemplo sería:

Código:
<input type="submit" name="save" id="guardar" value="Guardar" class="button1" onClick="validarformulario('datos', 1)">
<input type="submit" name="query" id="consultar" value="Consultar" class="button1" onClick="validarformulario('datos', 2)">

function validarformulario(nombreForm, variable) {
   if(document.forms[nombreForm].cod.value.isNaN()) {
        ...
   }
   if(document.forms[nombreForm].marca.value==...) {
        ...
   }
   ...
   if(variable==1) {
      document.forms[nombreForm].action='save.php';
   }else if(variable==2)   {
      document.forms[nombreForm].action='consultar.php';
   }
   document.forms[nombreForm].submit();
}

Espero que sea esto a lo que te referías...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta quizas algo tonta sobre alcance « 1 2 »
Materiales y equipos
odbk 10 4,453 Último mensaje 7 Marzo 2009, 10:07 am
por odbk
Consulta (algo tonta, ya lo se)
Hardware
runningwild 4 8,372 Último mensaje 14 Diciembre 2011, 09:48 am
por jdc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines