Foros del Web » Programando para Internet » Javascript »

Enviar form con campo hidden sin recargar página.

Estas en el tema de Enviar form con campo hidden sin recargar página. en el foro de Javascript en Foros del Web. Buenos días, El problema es que tengo dos botones para un mismo formulario, el cual realiza una función u otra dependiendo de si he hecho ...
  #1 (permalink)  
Antiguo 24/10/2011, 03:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 9 meses
Puntos: 2
Enviar form con campo hidden sin recargar página.

Buenos días,

El problema es que tengo dos botones para un mismo formulario, el cual realiza una función u otra dependiendo de si he hecho submit en "publica" (esto enviaría "mitxt" y además $_POST[form]== publica) o por el contrario tan solo he enviado "mitxt", en este caso $_POST[form]==mitxt). Como véis para cada caso, dependiendo del valor de $_POST[form] haría la función pertinente.

Dentro de guardar.php controlo si $_POST[form] == publica o bien si $_POST[form] == mitxt y para cada caso ejecuto una función distinta. Funciona perfectamente. ¿El problema? que la página se me recarga debido a que utilizo php y recojo el POST de esta manera:

editahoja.php
Código PHP:
<?php

if(isset($_POST['form'])){

include(
"guardar.php");

}

?>
He intentado resolverlo con Ajax pero me es imposible recibir los valores correctamente. O bien aparecen vacíos o bien la página pese al código ajax se recarga (en esta ocasión si lo hace bien, pero no evita que recargue la página igual que con php).


Código ajax que en teoría envía por POST sin recargar la página:
Código PHP:
<script language="javascript">
$(
document).ready(function() {

   
// Interceptamos el evento submit
    
$('#form, #fat, #formulario').submit(function() {
  
// Enviamos el formulario usando AJAX
        
$.ajax({
            
type'POST',
            
url: $(this).attr('action'),
            
data: $(this).serialize(),
            
// Mostramos un mensaje con la respuesta de PHP
            
success: function(data) {
                $(
'#result').html(data);
            }
        })        
        return 
false;
    });
})  
</script> 


formulario utilizado en editahoja.php:
Código PHP:
<form method="post" action="editahoja.php" id="formulario" name="formulario"><br />

            <
input type="hidden" value="mitxt" name="form"/>
            <
input type="submit" name="form" value="publica" onclick="alerta()">
            <
textarea id="mitxt" resize="none" name="mitxt"></textarea>
            
            <!-- 
Reemplazamos el textarea con el editor ckEditor-->
            
            <
script type="text/javascript">
            
CKEDITOR.replace'mitxt',
        {
            
toolbar 
            [
        [
'Source','-','Save','NewPage','Preview','-','Templates'],
        [
'Cut','Copy','Paste','PasteText','PasteFromWord','-','Print''SpellChecker''Scayt'],
        [
'Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
        [
'Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
        [
'NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
        [
'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
        [
'Link','Unlink'],
        [
'Image','Table','HorizontalRule','SpecialChar','PageBreak'],
        
'/',
        [
'Styles','Format','Font','FontSize'],
        [
'TextColor','BGColor'],
        [
'Maximize''ShowBlocks']
    ],
    
    
/* Buscador de archivos */
    
filebrowserBrowseUrl '/PRUEBAS/ckfinder/ckfinder.html',
    
filebrowserImageBrowseUrl '/PRUEBAS/ckfinder/ckfinder.html?type=Images',
    
filebrowserFlashBrowseUrl '/PRUEBAS/ckfinder/ckfinder.html?type=Flash',
    
filebrowserUploadUrl '/PRUEBAS/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
    
filebrowserImageUploadUrl '/PRUEBAS/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
    
filebrowserFlashUploadUrl '/PRUEBAS/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash',
    <!-- 
Codigo para añadir el administrador de ficheros que nos permite subir imágenes al servidor -->
            <!--
filebrowserBrowseUrl '/PRUEBAS/plugins/filemanager/index.php',-->
            
uiColor '#9AB8F3'
            
    
        
});
        
            
</script>
</div>
    </form><div id="result"></div> 
Espero haberme explicado, si tienen alguna duda no duden en preguntar. cualquier ayuda o aportación es bien recibida. Muchas gracias de antemano!!

Última edición por jurassicboy; 24/10/2011 a las 03:57

Etiquetas: formulario, funcion, hidden, html, php, botones, campos
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:05.