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!!