javascript - validacion - Enviar el formulario a otra página(que es diferente de la página utilizada en ACCIÓN)
validar formulario javascript antes de enviar (5)
Tengo una forma como esta:
index.php
<form method="post" action="send.php">
<textarea name="msg" id="msg"></textarea>
<input type="submit" value="Send" />
</form>
Entonces, si escribo algo en textarea y hago clic en "Enviar", se envía a la página "send.php". Pero quiero incluir otro botón para previsualizarlo. Es decir, cuando se hace clic en este botón, el formulario anterior se envía a "preview.php" que se abrirá en una nueva ventana / pestaña en blanco (la página original, es decir, index.php, estará intacta). Esto es para mostrar una vista previa del mensaje, que el usuario va a enviar.
No se como hacer esto.
Ahora hay un atributo para la entrada de envío que maneja esto:
<input type="submit" formaction=”differentThanNormalAction.php”>
Dale a tu formulario una identificación (form1). La acción de la forma actual se puede controlar así:
function setPreview() {
$(''#form1'').attr(''target'',''_blank'')
$(''#form1'').attr(''action'',''http://yourpreviewurl.php'')
$(''#form1'').submit()
}
function setSubmit() {
$(''#form1'').attr(''target'','''')
$(''#form1'').attr(''action'',''http://yourposturl.php'')
$(''#form1'').submit()
}
Tiene dos botones, ambos type="button"
, uno para llamar a setPreview y otro para llamar a setSubmit
Puede usar JavaScript para cambiar la acción del formulario cuando se hace clic en el botón y luego enviarlo.
O simplemente envíe el formulario a través de AJAX y luego redirija después de obtener una respuesta.
Usa Javascript para cambiar temporalmente la acción y el objetivo:
<form method="post" action="send.php" id="idOfForm">
<textarea name="msg" id="msg"></textarea>
<input type="submit" value="Send" />
</form>
<button onclick="doPreview();">Preview</button>
<script type="text/javascript">
function doPreview()
{
form=document.getElementById(''idOfForm'');
form.target=''_blank'';
form.action=''preview.php'';
form.submit();
form.action=''send.php'';
form.target='''';
}
</script>
<form onreturn="someJavascriptFunction()" action="" method="">
creando una función js capaz de abrir esta página de vista previa