¿Cuál es la forma más fácil de ejecutar código Javascript dentro de PHP, preferiblemente sin usar bibliotecas externas? Específicamente, necesito que el HTML interno de un div cambie según algunos cálculos realizados con las entradas del formulario del usuario que se capturaron anteriormente con $_POST en un formulario separado. ¿Cómo puedo hacer que el siguiente código JS se ejecute dentro del siguiente código PHP? (Mi intento más básico fue usar el comando echo, pero arroja errores)
HTML:
<div id="output"> </div><!--#output -->PHP (JS deseado incluido):
if (count($valid_locations)<$num_of_locations){ echo '<script>const output = document.querySelector("#output");</script>;'; echo '<script>output.innerHTML = "<div class="alert-danger"> Trip unable to be created. Please adjust the budget/number of travelers/duration etc.</div>;";</script>'; }else{ createTrip($trips); }En este momento, la condición IF es Verdadera y el código se ejecuta, pero hace eco de ";" por alguna razón. He verificado que se cumple la condición y se ejecuta agregando un simple eco "esto se ejecuta", que apareció al actualizar. Simplemente no entiendo por qué se está enviando al espacio de eco predeterminado y el script no se está ejecutando para cambiar el HTML interno del div de salida. ¿Es esto posible de hacer con PHP? Si es así, ¿cuál es la mejor manera? (no es necesario que sea seguro, no se usará públicamente). He oído hablar de algunas cosas como ajax, pero parece tan complicado. Cualquier explicación sobre cosas como esa específica para este escenario sería muy apreciada.
Siguiendo los comentarios, no necesita JS para lograr lo que desea. Podrías simplemente usar PHP
<?php $output = null; if (!empty($_POST)) { //... //... do stuff //... if (count($valid_locations)<$num_of_locations){ $output = 'Error occured - bla bla bla'; } } ?> <!DOCTYPE html> <html> <head> </head> <body> <?php if (isset($output)) {?> <div id="output"><?= $output; ?></div> <?php } ?> </body> </html>