Prototype : "element has no properties"

Prototype : "element has no properties" - HTML/CSS - Programmation

Marsh Posté le 02-01-2008 à 21:41:31    

Bonjour, j'ai déja utilisé prototype dans un select, à l'aide d'un onChange, ca marchait parfaitement.
 
Je reproduit exactement la même chose, mais cette fois, impossible de le faire marcher.
 
j'ai trouvé cette errreur grace a un debuggueur :

Code :
  1. element has no properties
  2. [Break on this error] var method = element.tagName.toLowerCase();


 
Voila la page html :

Citation :


<?php
$db = mysql_connect();
mysql_select_db();
 
$un_id_membre = $_COOKIE['un_id_membre'];
 
if (!empty($_POST)) {
 
}
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire</title>
<script type="text/javascript" src="javascripts/prototype.js"></script>
<script type="text/javascript" src="javascripts/validation.js"></script>
<script type="text/javascript" src="javascripts/ajax.js"></script>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<?php
if (empty($_POST)) {
 
 echo '
 <form action="#" method="post" id="ajout_identite">
  <select id="ca_id_arbre" onChange="changement_arbre()">
  <option value=""></option>
  <option value="-1">Informations publiques sur ce site</option>
  <option value="0">Informations communes à mes arbres</option>
  ';
  $sql = 'SELECT * FROM arbres WHERE id_membre=\''.$un_id_membre.'\'';
  $dem = mysql_query($sql);
  while ($donnees = mysql_fetch_array($dem)) {
   echo '<option value="'.$donnees['id_arbre'].'">'.$donnees['nom'].'</option>';
  }
  echo '
  </select><br />
  <div id="ca_resultat"></div>

  <br />
  Nom ou partie du nom : <input name="nom" type="text" id="ri_nom" onkeypress="refuserToucheEntree(event,recherche_identite,\'\')" /><br />
  Prénom ou partie du prénom : <input name="prenom" type="text" id="ri_prenom" onkeypress="refuserToucheEntree(event,recherche_identite,\'\')" /><br />
  <div class="rechercher_form_identite" onClick="recherche_identite(\'\')">Vérifier que cette personne n\'est pas déjà enregistrée</div>
  <div id="ri_resultat">Merci de renseigner un nom et un prénom.<br /></div>
  <br />
   <em>Les parents doivent déjà être enregistrées</em><br />
  <br />
  Premier parent <em>(père)</em> :<br />
  Nom ou partie du nom : <input type="text" id="ri_nom_parent1" onkeypress="refuserToucheEntree(event,recherche_identite,\'_parent1\')" /><br />
  Prénom ou partie du prénom : <input type="text" id="ri_prenom_parent1" onkeypress="refuserToucheEntree(event,recherche_identite,\'_parent1\')" /><br />
  <div class="rechercher_form_identite" onClick="recherche_identite(\'_parent1\')">Rechercher</div>
  <div id="ri_parent1_resultat">Merci de renseigner un nom et un prénom.<br /></div>
  <br />
  Second parent <em>(mère)</em> :<br />
  Nom ou partie du nom : <input type="text" id="ri_nom_parent2" onkeypress="refuserToucheEntree(event,recherche_identite,\'_parent2\')" /><br />
  Prénom ou partie du prénom : <input type="text" id="ri_prenom_parent2" onkeypress="refuserToucheEntree(event,recherche_identite,\'_parent2\')" /><br />
  <div class="rechercher_form_identite" onClick="recherche_identite(\'_parent2\')">Rechercher</div>
  <div id="ri_parent2_resultat">Merci de renseigner un nom et un prénom.<br /></div>
  <br />
  Naissance :<br />
  Date (sous la forme AAAA-MM-JJ) : <input name="date_naissance" type="text" class="validate-date" id="date_naissance" /><br />
  Pays :  
 <select name="pays_naissance" id="rl_pays_naissance" onChange="renseignement_lieu(\'naissance\')">
  <option value=""></option>
  ';
  $sql = 'SELECT * FROM pays ORDER BY fr';
  $dem = mysql_query($sql);
  while ($donnees = mysql_fetch_array($dem)) {
   echo '<option value="'.$donnees['code'].'">'.$donnees['fr'].'</option>';
  }
  echo '
  </select><br />
  <div id="rl_naissance_resultat"></div>

  <br />
  Décès (<a href="javascript:visibilite(\'deces\',\'Afficher\',\'Masquer\');" id="decesLien">Afficher</a> )<br />
  <div id="deces" style="display:none;">
   Date (sous la forme AAAA-MM-JJ) : <input name="date_deces" type="text" class="validate-date" id="date_deces" /><br />
   Pays :  
   <select name="pays_deces" id="rl_pays_deces" onChange="renseignement_lieu(\'deces\')">
   <option value=""></option>
  ';
   $sql = 'SELECT * FROM pays ORDER BY fr';
   $dem = mysql_query($sql);
   while ($donnees = mysql_fetch_array($dem)) {
    echo '<option value="'.$donnees['code'].'">'.$donnees['fr'].'</option>';
   }
  echo '
   </select><br />
   <div id="rl_deces_resultat"></div>
  </div>
  <br />
  <input name="Submit" type="submit" value="Envoyer" />
 </form>
 <script type="text/javascript">
  new Validation(\'ajout_identite\');
 </script>
 ';
}
mysql_close($db);
?>
</body>
</html>


 
C'est le premier cas ou ca ne marche pas.
 
Voila le javascript

Citation :


function refuserToucheEntree(event,fonction,parametre){
    if(!event && window.event){
        event = window.event;
    }
    if(event.keyCode == 13) {
        event.returnValue = false;
        event.cancelBubble = true;
  fonction(parametre);
    }
    if(event.which == 13){
        event.preventDefault();
        event.stopPropagation();
    }
}
 
function visibilite(thingId,txtAff,txtMasque) {
 var targetElement; var targetElementLink;
 targetElement = document.getElementById(thingId) ;
 targetElementLink = document.getElementById(thingId+'Lien');
 if (targetElement.style.display == "none" ) {
  targetElement.style.display = "" ;
  targetElementLink.innerHTML = txtMasque ;
 }  
 else {
  targetElement.style.display = "none" ;
  targetElementLink.innerHTML = txtAff ;
 }
}
 
function changement_arbre() {
     var url = 'php/changement_abre.php';
     var pars = 'id_arbre='+escape($F('ca_id_abre'));
     var target = 'ca_resultat';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
  recherche_identite('');
  recherche_identite('_parent1');
  recherche_identite('_parent2');
}

function recherche_identite(rang) {
     var url = 'php/recherche_identite.php';
     var pars = 'ri_nom='+escape($F('ri_nom'+rang))+'&ri_prenom='+escape($F('ri_prenom'+rang))+'&ri_rang='+rang;
     var target = 'ri'+rang+'_resultat';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}
function recherche_cp_fr(evenement) {
     var url = 'php/recherche_cp_fr.php';
     var pars = 'rcp_cp='+escape($F('rcp_cp'))+'&evenement='+evenement;
     var target = 'rcp_resultat';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}
function recherche_cp_be(evenement) {
     var url = 'php/recherche_cp_be.php';
     var pars = 'rcp_cp='+escape($F('rcp_cp'))+'&evenement='+evenement;
     var target = 'rcp_resultat';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}
function renseignement_lieu(evenement) {
     var url = 'php/renseignement_lieu.php';
     var pars = 'pays='+escape($F('rl_pays_'+evenement))+'&evenement='+evenement;
     var target = 'rl_'+evenement+'_resultat';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}



 
Merci beaucoup


Message édité par Proxounet le 03-01-2008 à 02:59:30
Reply

Marsh Posté le 02-01-2008 à 21:41:31   

Reply

Marsh Posté le 03-01-2008 à 03:00:41    

Merde j'avais laissé le mdp sql

Reply

Marsh Posté le 04-01-2008 à 13:07:24    

Personne ne trouve ?

Reply

Marsh Posté le 05-01-2008 à 23:18:54    

Toujours rien ? :(

Reply

Marsh Posté le 13-01-2008 à 00:53:58    

Aller dernier up

Reply

Marsh Posté le 17-01-2008 à 21:30:46    

Bon un tout dernier up,
car j'aimerais comprendre, sans compter que ca me bloque

Reply

Marsh Posté le 17-01-2008 à 23:54:23    

Ce lien t'expliquera peut-etre le manque de reponse que tu rencontres : http://forum.hardware.fr/hfr/Progr [...] m#t1654270
 
Egalement : http://forum.hardware.fr/hfr/Progr [...] m#t1655359
Nous ne sommes pas dans ta tete, nous ne savons pas ce que tu veux faire, ce que tu attends comme resultat. Imagine le temps qu'on doit passer (perdre ?) pour comprendre ce que tu attends comme resultat et ce que tu obtiens finalement.


Message édité par afbilou le 17-01-2008 à 23:59:32
Reply

Marsh Posté le 18-01-2008 à 13:06:37    

Ha na je sais pas trop quoi ajouté, j'ai mis tout le code étant donné que ca a l'air d'être une question de positionnement dans la page, tout en mettant en rouge les quelques lignes concernées;
 
dans le html c'est un simple select avec un on change,
et dans le javascript un envoie à une page php pour traitement, mais cette page n'est pas concernée dans le problème;
 
je peux ajouter d'autres choses ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed