bonjours à tous,

je suis toujours dans mon formulaire qui avance gentiment, mais là je bute sur une question de débutant.

J'ai besoin d’appeler le contenu d'une variable qui se trouve dans une fonction. Mais comment faire je me retrouve avec l'erreur suivante

Uncaught ReferenceError: availname is not defined

$('.list2').change(function () 
                {
                    var r = $("#my_type option:selected").val();
                    var i = $("#my_type option:selected").text();

                    if (r!="")
                        {
                            $('.check5').html('<img src="images/accept.png" />');
                            var String = 'icaod='+availname+'&icaor='+availname2+'&aircraft='+r;
                            //var String = 'icaod='+availname+'&icaor='+availname2+'&aircraft='+v;
                            $.ajax({
                                        type: "GET",
                                        url: "estimation.php",
                                        data: String,
                                        cache: false,
                                        success: function(result4)
                                            {
                                                var result4=remove_whitespaces(result4);
                                                if(result4!="")
                                                    {
                                                        $('.info').html(result4);
                                                    }
                                                else
                                                    {
                                                        $('.info').html('oups2');
                                                    }
                                            }
                                        });
                        }
                    else 
                        {
                            $('.check5').html('<img src="images/error.png" /> Sélectionnez votre chargement');
                            $('.info').html('');
                        }

                });

voici la fonction qui aurait besoin des variables "availname" "availname2" et "r"

voici le reste du code complet

merci d'avance de votre aide Flo

<!DOCTYPE html >
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="css/style.css" />
    </head>
    <body>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>

    <label>Aéroport de départ</label>
    <input type="text" size="4" autocomplete="off" name="user_name" id="user_id" class="user_name" />
    <span class="check" ></span> <br/><br/>

    <label>Aéroport d'arrivé</label><input type="text" autocomplete="off" size="4" name="user_name2" id="user_id" class="user_name2" />
    <span class="check2" ></span><br/><br/>

    <label>Altitude de croisiére</label><input type="text" autocomplete="off" size="4" name="altitude" id="altitude" class="altitude" />
    <span class="check3" ></span><br/><br/>
    <span class="list"></span>
    <span class="check4" ></span><br/><br/>
    <span class="list2"></span>
    <span class="check5" ></span><br/><br/>
    <span class="info"></span><br/><br/>
    <script type="text/javascript">

    $(function()
        {
            $('.user_name').keyup(function()
                {
                    var checkname=$(this).val();
                    var availname=remove_whitespaces(checkname);
                    if(availname!='')
                        {
                            $('.check').show();
                            $('.check').fadeIn(400).html('<img src="images/ajax-loading.gif" /> ');
                            var String = 'username='+ availname;

                            $.ajax({
                                type: "POST",
                                url: "username-check.php",
                                data: String,
                                cache: false,
                                success: function(result)
                                    {
                                        var result=remove_whitespaces(result);
                                        if(result=="")
                                            {
                                                $('.check').html('<img src="images/error.png" /> ICAO non reconnu');
                                                $(".check").removeClass("green");
                                                $('.check').addClass("red")
                                                $(".user_name").removeClass("white");
                                                $(".user_name").addClass("yellow");
                                            }
                                        else{
                                                $('.check').html(result);
                                                $('.para2').html('</BR><span class="check2" ></span>');
                                                $(".check").removeClass("red");
                                                $('.check').addClass("green");
                                                $(".user_name").removeClass("yellow");
                                                $(".user_name").addClass("white");

                                                var checkname4=$('.user_name').val();
                                                var availname4=remove_whitespaces(checkname);
                                                var String = 'icaod='+ availname4;

                                                $.ajax({
                                                    type: "POST",
                                                    url: "aircraft.php",
                                                    data: String,
                                                    cache: false,
                                                    success: function(result3)
                                                        {
                                                            var result3=remove_whitespaces(result3);
                                                            if(result3=="")
                                                                {
                                                                    $('.check4').html('<img src="images/error.png" /> Aucun appareil disponible');
                                                                    $('.list').html('');
                                                                }
                                                            else
                                                                {
                                                                    var result3=remove_whitespaces(result3);
                                                                    var result3='<label>Vous pouvez choisir un avion</label><SELECT id="my_aircraft" name="aircraft"> <OPTION VALUE="">Liste des avions</OPTION>'+ result3 +'</SELECT>';
                                                                    $('.list').html(result3);
                                                                    $('.check4').html('');
                                                                }
                                                        }
                                                    });
                                            }           
                                    }
                                });
                        }
                    else
                        {
                            $('.check').html('');
                        }
                });

            $('.user_name2').keyup(function()
                {
                    var checkname2=$(this).val();
                    var availname2=remove_whitespaces(checkname2);
                    if(availname2!='')
                        {
                            $('.check2').show();
                            $('.check2').fadeIn(400).html('<img src="images/ajax-loading.gif" /> ');
                            var String = 'username='+ availname2;
                            $.ajax({
                                type: "POST",
                                url: "username-check.php",
                                data: String,
                                cache: false,
                                success: function(result2)
                                    {
                                        var result2=remove_whitespaces(result2);
                                        if(result2=="")
                                            {
                                                $('.check2').html('<img src="images/error.png" /> ICAO non reconnu');
                                                $(".check2").removeClass("green");
                                                $('.check2').addClass("red")
                                                $(".user_name2").removeClass("white");
                                                $(".user_name2").addClass("yellow");
                                            }
                                        else
                                            {
                                                $('.check2').html(result2);
                                                $(".check2").removeClass("red");
                                                $('.check2').addClass("green");
                                                $(".user_name2").removeClass("yellow");
                                                $(".user_name2").addClass("white");
                                            }
                                    }
                                });
                        }
                    else{
                            $('.check2').html('');
                        }
                    });

            $('.altitude').keyup(function()
                {
                    var altitude=$(this).val();

                    if(altitude.match(/^[0-9]{3,5}$/)) 
                        {
                            $('.check3').html('<img src="images/accept.png" /> Altitude conforme');
                            $(".check3").removeClass("red");
                            $('.check3').addClass("green")
                            $(".Altitude").removeClass("yellow");
                            $(".Altitude").addClass("white");
                        }
                    else
                        { 
                            $('.check3').html('<img src="images/error.png" /> Altitude non reconnu');
                            $(".check3").removeClass("green");
                            $('.check3').addClass("red")
                            $(".Altitude").removeClass("white");
                            $(".Altitude").addClass("yellow");
                        }

                });

            $('.list').change(function () 
                {
                    var v = $("#my_aircraft option:selected").val();
                    var t = $("#my_aircraft option:selected").text();

                    if (v!="")
                        {
                            $('.check4').html('<img src="images/accept.png" />');
                            $('.list2').html('<label>Type de cargaison</label><SELECT id="my_type" name="toc"><OPTION VALUE="">Choisir un type de chargement</OPTION><OPTION VALUE="C">Cargo</OPTION><OPTION VALUE="P">Passagers</OPTION><OPTION VALUE="H">Charters</OPTION></SELECT>');
                        }
                    else 
                        {
                            $('.check4').html('<img src="images/error.png" /> Sélectionnez un avion');
                            $('.check5').html('');
                            $('.list2').html('');
                        }

                });
            $('.list2').change(function () 
                {
                    var r = $("#my_type option:selected").val();
                    var i = $("#my_type option:selected").text();

                    if (r!="")
                        {
                            $('.check5').html('<img src="images/accept.png" />');
                            var String = 'icaod='+availname+'&icaor='+availname2+'&aircraft='+r;
                            //var String = 'icaod='+availname+'&icaor='+availname2+'&aircraft='+v;
                            $.ajax({
                                        type: "GET",
                                        url: "estimation.php",
                                        data: String,
                                        cache: false,
                                        success: function(result4)
                                            {
                                                var result4=remove_whitespaces(result4);
                                                if(result4!="")
                                                    {
                                                        $('.info').html(result4);
                                                    }
                                                else
                                                    {
                                                        $('.info').html('oups2');
                                                    }
                                            }
                                        });
                        }
                    else 
                        {
                            $('.check5').html('<img src="images/error.png" /> Sélectionnez votre chargement');
                            $('.info').html('');
                        }

                });

        });

    function remove_whitespaces(str)
        {
            var str=str.replace(/^\s+|\s+$/,'');
            return str;
        }
        </script>
    </body>
</html>

2 réponses


Maenhyr
Réponse acceptée

Salut, si tu la met après l'initialisation de jQuery et sans le var, ça devient une variable globale

<script type="text/javascript">

    $(function()
        {
            availname = "";
            ...
flo3376
Auteur

merci beaucoup