Quiero autocompletar dos elementos de entrada haciendo clic en un enlace. Aquí está el código que estoy usando:

 <script>

    function autoFill(depart_from, depart_to) {
        document.getElementById('depart_from').value = depart_from;
        document.getElementById('depart_to').value = depart_to;
    }

 </script>

Y aquí está el enlace:

...

echo "<tr class='odd'>";
echo "<td><span class='hover'><ahref='#'onClick='autoFill(" . $row['departure'] . ", " . $row['destination'] . "return false;'>" . $row['departure'] ." » ". $row['destination'] . "</a><span></td>";
echo "</tr>";

¡No puedo hacer que funcione! ¿Qué estoy haciendo mal?

Gracias!

0
Ismailp 11 jun. 2011 a las 17:23

3 respuestas

La mejor respuesta

Lo resolví mirando esta pregunta: JQuery - Haga clic en Relleno automático de enlace campo de entrada

0
Community 23 may. 2017 a las 12:20

Para empezar, el espacio está roto en su etiqueta de anclaje:

<ahref='#'onClick='autoFill(

Debe ser:

<a href='#' onClick='autoFill(

Además, nunca cierra la función y separa las declaraciones con un punto y coma:

autoFill(" . $row['departure'] . ", " . $row['destination'] . "return false;

Debe ser:

autoFill(" . $row['departure'] . ", " . $row['destination'] . ");return false;

Finalmente, es posible que desee ajustar esos parámetros de método entre comillas:

autoFill(" . $row['departure'] . ", " . $row['destination'] . ");return false;

Debe ser:

autoFill('" . $row['departure'] . "', '" . $row['destination'] . "');return false;

Puede haber más. Una cosa a tener en cuenta es tratar de no usar sentencias echo para emitir grandes bloques de HTML. Hace que el código sea un poco menos fácil de leer y, lo que es más importante, agrega otra capa de "stringificación" que hace que la inclusión de comillas en las cadenas sea un poco más difícil.

0
David 11 jun. 2011 a las 13:27

El espacio en su etiqueta a es incorrecto, necesita un espacio entre a href.

Nunca cierra los corchetes para la llamada de función, y creo que puede necesitar poner los parámetros entre comillas, dependiendo de su tipo:

autoFill('" . $row['departure'] . "', '" . $row['destination'] . "'); return false;'

0
James Allardice 11 jun. 2011 a las 13:30