Forzar submit específico en javascript dentro de un form con varios submit

publicado por: Anonymous

Ante todo disculpas porque es la primera vez que necesito utilizar javascript y soy bastante torpe e ignorante.

Vamos a ver si me explico, tengo un formulario en el que hay dos botones diferentes de tipo submit para finalizar el formulario, según cuál elijan se recogen unos datos u otros y se mandan a sitios diferentes. Con esos datos guardo valores en variables de sesión en PHP.

<form method='post' action='new.php' name='formNew'>
<input type='submit' name='finAlternativo1' id='submit' value='Elegir 1">
<input type='submit' name="finAlternativo2" id='submit' value='Elegir 2">
</form>

Hasta aquí todo me funciona bien. El problema es que tienen un tiempo para rellenar el formulario y lo gestiono en javascript con la función temporizador(). El problema es que si el tiempo llega a cero quiero forzar el submit “finAlternativo2”, y no consigo hacerlo.

La función que yo conozco de jacascript para forzarlo me obliga a pasar a el nombre del formulario:

document.getElementById["formNew"].submit();

O también esta otra:

document.forms["formNew"].submit();

Pero en ninguna me funciona porque necesito que si el tiempo llega a cero solo se ejecute el submit del “finAlternativo2”.

He probado en plan imaginativo esto otro, pero tampoco me funciona:

document.forms["formNew"]["finAlternativo2"].submit();

A ver si alguien puede echarme un cable, repito que NUNCA he trabajado con javascript y de ahí mi torpeza.

Por si os es de ayuda cuando pulsas sobre cualquiera de los SUBMIT, esto es lo que debería ejecutarse:

//PARA CUALQUIERA DE LOS DOS SUBMITS
$_SESSION["vp"][$_SESSION["pActual"]]["marcada"]=$_POST["respuesta"];
$_SESSION["vp"][$_SESSION["pActual"]]["aviso"]=$_POST["respuesta1"];
//PARA FINALTERNATIVO 1
if(isset($_POST["finAlternativo1"]))
    $_SESSION["pActual"]=$_POST["recordatorio"];
//PARA FINALTERNATIVO 2
if(isset($_POST["finAlternativo2"])){
    $_SESSION["finForm"]=true;
    echo 'REALIZANDO VALIDACIÓN...';
    echo '<script language="javascript">window.location="corregirPsicos.php"</script>';
}

solución

Bien, primero asignale un identificador diferente a cada botón

<form id="form1" method="get">
    <input type="submit" name="finAlternativo1" id="finAlternativo1" value="Elegir 1">
    <input type="submit" name="finAlternativo2" id="finAlternativo2" value="Elegir 2">
</form>

Luego ejecutas ese boton

document.getElementById("finAlternativo1").click()
Respondido por: Anonymous

Leave a Reply

Your email address will not be published.