Hola:
Efectivamente,
bookmaster tiene toda la razón en todo lo que yo quería explicar. Espero no haber sido demasiado liante con aquello del existo o no existo jeje.
stock, la idea del
try & catch seduce más, es más correcto hacerlo así, pero el código no funciona y a que el
document.getElementById() no lanza ninguna excepción (error) cuando no encuentra el id:
Código PHP:
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<meta name="Author" content="derkeNuke" />
<title>Página nueva</title>
<style type="text/css">
</style>
</head>
<body>
<input type="text" id="laCaja" />
<script type="text/javascript">
try{
c = 'xxx';
campo = document.getElementById(c);
alert("Éxito, "+c+" existe!");
}catch(e){
alert('el campo '+c+' no existe!');
}
</script>
</body>
</html>
Siempre alerta de forma afirmativa la existencia del
campo. Simplemente campo será
undefined.
Funcionaría así bien, forzándo una excepción:
Código PHP:
<input type="text" id="laCaja" />
<script type="text/javascript">
try{
c = 'xxx';
campo = document.getElementById(c);
campo.value = "esto existe";
}catch(e){
alert('Ha habido una excepción: '+e.message);
}
</script>
campo no es un objeto, luego no tiene propiedad
value, no se le puede asignar.
Así funcionaría como esperamos.
Un saludo.