[DOM] Récuperer un élément du DOM
Bonjour,
Donc je boucle sur tous les <div class="row_form"> donc toutes les lignes du formulaire
à l'interieur de ces lignes il y a 3 div :
- le premier contient 1 label et 1 champ input
- le deuxième contient un div où j'affiche un message d'erreur
- le troisième sert d'espace
Et à l'interieur du premier div, j'ai besoin du champ input pour lui ajouter des Event.
Donc les 2 champs dont j'ai besoin c'est le div d'erreur qui est le deuxième fils du <div class="row_form"> et surtout l'input qui est le petit-fils du <div class="row_form">
Voici le code HTML
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
1.
<div class="row_form">
2.
3.
<div class="champform">
4.
5.
<label for="nomsociete">Nom(*) :</label>
6.
7.
<input id="nomsociete" type="text" />
8.
9.
</div>
10.
11.
<div class="error_input"></div>
12.
13.
<div class="spacer"></div>
14.
15.
</div> |
Voici le code Javascript
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
1.
window.addEvent('domready', function() {
2.
3.
var list = $$('.row_form');
4.
5.
list.each(function(element){
6.
var child_list = element.childNodes;
7.
var little_child_list = child_list[0].childNodes;
8.
var error_element = child_list[1];
9.
var input_element = element.childNodes[0].childNodes[1];
10.
11.
var fx = new Fx.Styles(error_element, {
12.
duration : 1500,
13.
wait : false,
14.
transition: Fx.Transitions.Quad.easeOut
15.
});
16.
17.
var fx2 = new Fx.Styles(input_element, {
18.
transition: Fx.Transitions.Quad.easeOut
19.
});
20.
21.
input_element.addEvent('focus', function(){
22.
fx.start({
23.
'background-color' : ['#ddeeff']
24.
});
25.
});
26.
27.
input_element.addEvent('blur', function(){
28.
29.
fx2.start({
30.
'background-color' : ['#fff']
31.
});
32.
33.
if(input_element.value == ''){
34.
35.
input_element.setHTML('Ce champ est obligatoire !!!');
36.
fx.start({
37.
'background-color': ['#ff0000', '#fff'],
38.
'display': ['block', 'none']
39.
});
40.
}
41.
else{
42.
fx2.start({
43.
'background-color' : ['#fff']
44.
});
45.
}
46.
});
47.
48.
});
49.
50.
51.
}); |
Merci d'avance pour votre aide précieuse :mrgreen: