Salut à tous,

je cherche à faire une liste déroulante qui valide le formulaire dès qu'un choix est efefctué dans la liste.
Voici mon code:
<html>
<body>
<script type="text/javascript" language="javascript">
	document.getElementById('sel_1').onchange=function(){submit()};
</script>
<?php
	if (!empty($_POST))
	{
		echo '<pre>';
		print_r($_POST);
		echo '</pre>';
	}
?>
<form name="caca" method="post">
	<select name="sel" id="sel_1">
		<option value="1">Un</option>
		<option value="2">Deux</option>
		<option value="3">Trois</option>
	</select>
</form>
</body>
</html>


La console javascript de Firefox me dit:
Error: document.getElementById("sel_1") has no properties
Source File: http://localhost/project/test3.php
Line: 4

Une idée ?

Merci
Modifié par EvilAngel (23 Aug 2006 - 09:39)
Tu essaies d'agir sur un objet qui n'existe pas encore (il arrive après dans le code), donc c'est normal que Firefox râle.

Place ton script après le <form> ou mieux, dans un window.onload.

Ou encore mieux : n'utilise pas ce script qui pose des problème d'accessibilité (ex : navigation au clavier sous IE)
Hello,


<head>
<script type="text/javascript">
function nom_a_choisir() {
	document.getElementById('sel_1').onchange=function(){submit()};
}
window.onload=nom_a_choisir;
</script>
</head>


J'ai enlevé le language="javascript", ce n'est pas valide.

A part ça tu devrais mettre une déclaration de type de document (DTD)