
Llamada a función onchange
Publicado por Daniel (2 intervenciones) el 29/12/2021 13:29:26
Hola,
En mi página php he creado una lista desplegable y quiero que cuando se seleccione un elemento de la lista se llame a una función que hay en otro archivo. Para hacer las pruebas quiero simplemente que imprima por pantalla un texto indicando "Seleccion detectada" pero no consigo que esto suceda.
No se si es porque no se está llamando a la función, o bien, porque no como mandar imprimir el texto desde la función, que está en otro archivo.
Aquí os dejo los archivos.
Contenido del index php. Vease que se usa el metodo POST, y el contenido de onchange es la función charSelected.
Aquí despChar.php. El initDespChar funciona bien puesto que la lista la rellena con los elementos de la base de datos correctamente. En la función charSelected he probado tanto a hacer un return como un echo y en ningún caso consigo que aparezca nada.
¿Se les ocurre que puedo estar haciendo mal?
Muchas gracias!
En mi página php he creado una lista desplegable y quiero que cuando se seleccione un elemento de la lista se llame a una función que hay en otro archivo. Para hacer las pruebas quiero simplemente que imprima por pantalla un texto indicando "Seleccion detectada" pero no consigo que esto suceda.
No se si es porque no se está llamando a la función, o bien, porque no como mandar imprimir el texto desde la función, que está en otro archivo.
Aquí os dejo los archivos.
Contenido del index php. Vease que se usa el metodo POST, y el contenido de onchange es la función charSelected.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<title>Prueba de PHP</title>
</head>
<body>
<form id="despPers" action="despChar.php" method="POST">
<select name="nomChar" onchange="charSelected()">
<?php
include("despChar.php");
initDespChar();
?>
</select><br>
</form>
</body>
</html>
Aquí despChar.php. El initDespChar funciona bien puesto que la lista la rellena con los elementos de la base de datos correctamente. En la función charSelected he probado tanto a hacer un return como un echo y en ningún caso consigo que aparezca nada.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function initDespChar(){
include("conection.php");
echo '<option value="0">Character</option>';
$con=conectar();
$sql = "SELECT * FROM Personajes";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)) {
echo '<option value="'.$row["Character_id"].'">'.$row["Character_name"].'</option>';
}
$con->close();
}
function charSelected(){
return "Selección detectada";
}
?>
¿Se les ocurre que puedo estar haciendo mal?
Muchas gracias!
Valora esta pregunta


0