Bonjour,

j'ai un bug très bizarre. je recherche une chaine de caractère dans une autre grâce à une fonction récursive. En testant cette fonction récursive avec firbug, on voit que cette fonction marche : quand on arrive au return, la valeur qui va être retourné est la bonne. Mais la variable qui est initialisée avec cette valeur reste à undefined !! Je comprends rien.

voici mon code :
la fonction récursive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
var Find_ref = function(ID, fin){
		var char_fin = ID.substring(fin, fin+1); 
		if(char_fin == '|'){
			var reference = ID.substring(13,fin);
			return reference;
		}
		else{
			Find_ref(ID, fin+1);
		}
	}
et l'endroit où elle est appelée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
this.Valider = function(val){
		var ID = val.getId();
		var ref_fiche = null;
		ref_fiche = Find_ref(ID, 13);
		alert(ref_fiche);
	}
"ref_fiche" reste toujours à undefined alors que dans firebug, on voit que la variable "ref" de la fonction fonction Find_ref à bien la valeur qu'elle doit avoir (une chaine de caractère).