Hola de nuevo, como no hay respuestas he seguido investigando y estoy mucho más cerca de la solución, pero aún así tengo un problema, os explico:
Primero el código (la página se llama 1.php), está página lo único que pretende es abrir una ventana modal automáticamente si detecta que el método de llamada es 'POST', y lo pretendo hacer de dos formas: por la tradicional con una autollamada de un botón de formulario o mediante un evento onclick asociado a una 'li':
Código PHP:
<html>
<head>
<meta charset="utf-8">
<title>Mostrar Ventane Modal de forma Automático</title>
</head>
<body>
<span id="resultado"></span>
<?php
include ("bootstrap.php");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
echo 'De la función '.$_POST['datoid'];
echo'<script>
$(document).ready(function()
{
$("#mostrarmodal").modal("show");
alert ("Dentro de la llamada automática");
});
</script>';
}else{
?>
<?php
$practicas1="img/no.jpg";
?>
<form style="width: 905px;"class='form-inline' name="seleccion" id="form" method="post">
<p> este es el cuerpo </p>
<li onClick="realizaProceso(('Hola'));return true;" class="seven1" name="dato"><a data-toggle="modal" href="#"><b><img src=<?php echo $practicas1 ?> alt="" /></b></a></li>
</br>
<button class="btn btn-info" type="submit" name="submit" >Buscar</button>
</form>
<?php
} // fin del else del post
?>
<div class="modal fade" id="mostrarmodal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3>Cabecera de la ventana</h3>
</div>
<div class="modal-body">
<h4>Texto de la ventana</h4>
Mas texto en la ventana.
</div>
<div class="modal-footer">
<a href="#" data-dismiss="modal" class="btn btn-danger">Cerrar</a>
</div>
</div>
</div>
</div>
<script>
function realizaProceso(datoid){
var parametros = {
"datoid" : datoid
};
$.ajax({
data: parametros,
url: '1.php',
type: 'POST',
beforeSend: function () {
$("#form").html("Procesando, espere por favor...");
// alert (datoid);
},
success: function (response) {
$("#form").html(response);
}
});
}
</script>
</body>
</html>
El cuerpo de html tiene un 'li' y un boton de formulario:
- 'li' tiene asociado un evento 'onclick' que llama a una función 'realizaproceso' a la que le paso un parámetro por referencia (en este caso es la palabra 'Hola'), esta función llama a la página 1.php con el método POST.
- El botón del formulario realiza la operación estándar de llamar de nuevo a la página 1.php con el método POST.
Bien, pues si observáis al principio pongo el control
Código PHP:
if ($_SERVER["REQUEST_METHOD"] == "POST")
para que ejecute un script solo si el método de llamada a la página es 'POST'; bueno pues el script se pone en marcha si hago click con el botón de formulario pero
no funciona si hago click en el 'li' y prácticamente es lo mismo, ¿alguien sabe porqué?, podéis probarlo.
A ver si me podéis ayudar, gracias.