Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Redirección tras procesar un formulario

Estas en el tema de Redirección tras procesar un formulario en el foro de Jquery en Foros del Web. Buenas, trato de hacer que al enviar un formulario me redireccione a otra vista. Lo intento usando window.location.href pero hace nada. Os dejo el código, ...
  #1 (permalink)  
Antiguo 15/02/2017, 04:09
 
Fecha de Ingreso: junio-2011
Mensajes: 8
Antigüedad: 6 años, 3 meses
Puntos: 0
Pregunta Redirección tras procesar un formulario

Buenas, trato de hacer que al enviar un formulario me redireccione a otra vista. Lo intento usando window.location.href pero hace nada.
Os dejo el código, lo he reducido un poco para que no sea tan pesado.

Todo funciona correctamente, solo falta que redireccione a presupuestosok.php. Si me podéis encaminar un poco lo agradecería.

presupuestos.php

Código PHP:
<form id="formnewPresupuesto" method="post" action="">  

  <div class="row ">
    <div class="col-md-6">
      <div class="form-group group2">
        <label for="email"></label>
        <input id="email"  type="email" name="email" value="" class="form-control" placeholder="Email">
      </div>
      <div class="form-group group2">
        <label for="nif"></label>
        <input id="nif" type="text" name="nif" value="" maxlength="9" class="form-control" placeholder="NIF">
      </div>
      ...
      <div class="form-group group2">
        <label for="tipo"></label>
        <select id="tipo" name="tipo" class="form-control " >
          <option value="0">Selecciona el tipo de empresa</option>
          <option value="1">Autónomos</option>
          <option value="2">Persona Jurídica</option>
        </select>
      </div>
    </div>
    ...
       <div class="clearfix"></div>
       <div class="col-md-6 mtop30">
          <button type="submit" class="btn btn-warning btn-lg" name="btnsubmit" id="btnsubmit">Calcular presupuesto</button>
       </div>
       <div class="col-md-6 mtop30 pull-left">
          <small>Su presupuesto se enviará a su correo <span class="correo"></span></small>
       </div>
       ...
          <input type="hidden" name="idPres">
        </div>

      </div>
    <div class="col-md-6" id="pantallaMensajes">
      <h2 class="steps-titul">Mensajes</h2>
    </div>
  </div><!--/.row-->

</div>
 <!-- <div class="row mtop30" id="txtGeneral">
    <div class="col-md-12">
      <div class="alert alert-General"><i class="fa fa-info-circle" aria-hidden="true"></i> <?php /*require "db.php";$txt=getTxtObservPresupuestos("General");$txtFinal=str_replace('%%texto%%','Fiscal-Contable Laboral Jurídico',$txt); echo $txtFinal; */?></div>
  </div>
 </div>/.row-->

  <input type="hidden" name="formulario" value="presupuesto"> 
  </form>

control.php

Código PHP:
case "addPresupuesto":
            
session_start();
            
// if ($_POST['captcha'] == $_SESSION['cap_code']) {
            // Captcha verification is Correct. Do something here!
            
$tipo $rs $nif $nom $dir $prov $pob $tel $emailcliente  $act1 $act2 $act3 $fact $numTrab  $msj "";
            
$fyc $lab $jur $alq $foral $out $sd $total 0;
            
$cuotafyc $cuotalab $cuotajur $cuotaalq $cuotaforal $cuotaout $cuotasd 0;

            if(isset(
$_POST['tipo'])) $tipotest_input($_POST['tipo']);
                        ...
            if(isset(
$_POST['msj'])) $msjtest_input($_POST['msj']);

            
$fecha=date("d/m/Y");
            
$idPres=addPresupuesto($fecha,$total,$msj,$fyc,$lab,$jur,$alq,$foral,$out,$sd,$cuotafyc,$cuotalab,$cuotajur,$parcialfyc,$parciallab,$parcialjur,$sumafyc,$sumalab,$sumajur,$cuotaalq,$cuotaforal,$cuotaout,$cuotasd,$tipo,$rs,$nif,$nom,"","",$prov,$tel,$emailcliente,$act1,"","",$numTrab,$fact,"",0,0,0);

            
$body '<html><body>';
                       ...
            
$body .='</body></html>';

            
$pers=getPersonaFormulario(9);
            
$d=email_contacto.";";
            for(
$i=0;$i<count($pers);$i++){
                
$d.=$pers[$i]['email'].";";
            }
            
            
$dest=explode(";",$d);

            
$r sendMail($dest,"Presupuesto",$body);        
                
$x sendPresupuesto($idPres,$emailcliente,"Presupuesto","correo de prueba");

            
$_SESSION["ok"]=1;

            
setContadorPres($idPres);
         
            echo 
$idPres;
        break; 

funciones.js

Código:
$('#btnsubmit').click(function(event) {
	event.preventDefault();
	if(validar()){
		//ningun servicio seleccionado
		if(!$('#fyc').is(':checked') && !$('#lab').is(':checked') && !$('#jur').is(':checked')){
			$("#pantallaMensajes h2").after('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Debe seleccionar al menos un servicio a contratar</div>');
			
		}else{
			calcular();
			if($('#total').val()=='0' || $('#total').val()=='' || $('#total').val()=='0.00' || $('#total').val()=='0,00'){
				return false;
			}
			else{
				//envia el presupuesto
				var dataString= "action=addPresupuesto";
				dataString += "&"+$("#formnewPresupuesto").serialize();
				if($('#fyc').is(':checked'))
					dataString += "&fyc=1";
				else 
					dataString += "&fyc=0";
                               ...
				if($('#sd').is(':checked'))
					dataString += "&sd=1";
				else 
					dataString += "&sd=0";
				
				 $.ajax({
					url:"control.php",
					type: "POST",
					data: dataString,
					success: function(resp){
					    $('input[name="idPres"]').val(resp);
					}
			    });
			}
		}//fin else ningun servicio
	}//fin validar()
});
Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 17/02/2017, 08:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 220
Antigüedad: 7 años, 11 meses
Puntos: 17
Respuesta: Redirección tras procesar un formulario

se supone que debes hacerlo en el SUCCESS de ajax, prueba usando:

window.open("url", "_top");
  #3 (permalink)  
Antiguo 22/02/2017, 02:09
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 200
Antigüedad: 7 años
Puntos: 13
Respuesta: Redirección tras procesar un formulario

Con document.location='enlace';
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #4 (permalink)  
Antiguo 06/03/2017, 06:53
 
Fecha de Ingreso: junio-2011
Mensajes: 8
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Redirección tras procesar un formulario

Gracias por la ayuda. Al final conseguí hacerlo funcionar con window.location.href = "enlace". No sé por qué de primeras no lograba que me funcionara, pero ya está solucionado.

Etiquetas: formulario, funcion, html, input, javascript, procesar, tras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.