Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2361 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Prototype : "element has no properties"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prototype : "element has no properties"

n°1664952
Proxounet
Posté le 02-01-2008 à 21:41:31  profilanswer
 

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
mood
Publicité
Posté le 02-01-2008 à 21:41:31  profilanswer
 

n°1665033
Proxounet
Posté le 03-01-2008 à 03:00:41  profilanswer
 

Merde j'avais laissé le mdp sql

n°1665782
Proxounet
Posté le 04-01-2008 à 13:07:24  profilanswer
 

Personne ne trouve ?

n°1666603
Proxounet
Posté le 05-01-2008 à 23:18:54  profilanswer
 

Toujours rien ? :(

n°1670291
Proxounet
Posté le 13-01-2008 à 00:53:58  profilanswer
 

Aller dernier up

n°1673015
Proxounet
Posté le 17-01-2008 à 21:30:46  profilanswer
 

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

n°1673073
afbilou
pouet your life
Posté le 17-01-2008 à 23:54:23  profilanswer
 

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
n°1673293
Proxounet
Posté le 18-01-2008 à 13:06:37  profilanswer
 

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 ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Prototype : "element has no properties"

 

Sujets relatifs
liste simplement chainée , supprimer un elementsupprimer un element avec removechild() selon la valeur dans un select
Pointeur en argument -> obtention de la taille de l'élément pointé?Supprimer un element d'une liste chainee
I.E. et Flash : "1 élément restant"Aide sur l'utilisation de prototype
Trouver un élément dans un tableau, facile pour qui s'y connait ![RESOLU] [Ajax] Pb de binding objet avec Prototype
[AJAX] Prototype et Ajax.UpdaterCertificat SSL a valider pour chaque élément de page
Plus de sujets relatifs à : Prototype : "element has no properties"


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)