IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

AutoComplete control error: url.indexOf is not a function


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 47
    Points : 34
    Points
    34
    Par défaut AutoComplete control error: url.indexOf is not a function
    Bonjour à tous,

    J'ai un soucis au niveau de mon contrôle "autocomplete", lorsque je tape quelques lettres dans le champs lié au contrôle je reçois ce message d'erreur dans la console de Firebug:

    AutoComplete control error: url.indexOf is not a function
    J'ai donc une erreur au niveau de mon fichier autocomplete.js...

    Mais ce qui est bizarre, c'est que j'utilise le même contrôle, le même fichier et le même code dans une autre page, et là ça marche !

    J'ai posté ma question sur Stack mais ça fait 2 semaines et je n'ai toujours aucune réponse

    Pouvez-vous m'aider SVP ? Voici le code:

    Create.cshtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    @model TennisOnline.Models.Reservation
     
    @{
        ViewBag.Title = "Create";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
     
    <h2>Créer</h2>
     
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/EditorHookup.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.autocomplete.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/jquery.autocomplete.css")" rel="stylesheet" type="text/css"/>
     
     
    //Appel de la fonction autocomplete
    <script type="text/javascript">
        $(document).ready(function () {
            $("#Partner").autocomplete({ source: '@Url.Action("Name", "ReservationCalendar")' }, { minChars: 2 });
        });
    </script>
     
    @using (Html.BeginForm()) {
        @Html.ValidationSummary(true)
        <fieldset>
     
     
            <div class="editor-label">
                @Html.LabelFor(model => model.Date)
            </div>
            <div class="editor-field">
                @Html.DisplayFor(model => model.Date)
                @Html.ValidationMessageFor(model => model.Date)
            </div>
     
            <div class="editor-label">
                @Html.LabelFor(model => model.StartTime)
            </div>
            <div class="editor-field">
                @Html.DisplayFor(model => model.StartTime)
                @Html.ValidationMessageFor(model => model.StartTime)
            </div>
     
            <div class="editor-label">
                @Html.LabelFor(model => model.Double)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Double)
                @Html.ValidationMessageFor(model => model.Double)
            </div>
     
            <div class="editor-label">
                @Html.LabelFor(model => model.Customer.Name)
            </div>
            <div class="editor-field">
                @Html.DisplayFor(model => model.Customer.Name)
            </div>
     
            <div class="editor-label">
                @Html.LabelFor(model => model.Partner)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.Partner)//Le contrôle est lié à cette entrée
                @Html.ValidationMessageFor(model => model.Partner)
            </div>
     
            <div class="editor-label">
                @Html.Label("Numéro du court")
            </div>
            <div c=lass="editor-field">
                @Html.DisplayFor(model => model.TennisCourt.Number)
                @Html.ValidationMessageFor(model => model.TennisCourt.Number)
            </div>
            <p>
                <input type="submit" value="Créer" />
            </p>
        </fieldset>
    }
     
    <div>
        @Html.ActionLink("Retour à l'index", "Index", new { id = Model.TennisClub.ID })
    </div>

    Controller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    //AutoComplete control that return the name and first name of the partner corresponding to "term"
            public ActionResult Name(string term)
            {
                int id = 0;
                var user = User.Identity.Name;
                int inter = int.Parse(user);
                var cust = from d in db.Customers
                               select d;
                cust = cust.Where(s => s.AffiliationNumber == inter);
                foreach (var customer in cust)
                {
                    id = customer.TennisClub.ID;
                }
     
                var customers = (from c in db.Customers where (c.Name.Contains(term)) && c.TennisClub.ID == id select c.Name + ";" + c.FirstName).Distinct().Take(10);
                return Json(customers, JsonRequestBehavior.AllowGet);
            }

    Pouvez-vous m'aider à trouver ce qui ne va pas SVP ? Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    As-tu vérifié le type de l'objet url sur lequel tu appliques la méthode indexOf ? Si ça marche sur une autre page et pas celle-ci alors c'est que dans la page actuelle tu ne lui fourni pas le bon type peut-être.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 47
    Points : 34
    Points
    34
    Par défaut
    Merci de la réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object { source="/ReservationCalendar/Name"}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    source "/ReservationCalendar/Name/"
    Dans la console de Firebug j'ai ça comme valeur pour l'url

    Ca me semble correct pourtant...

    Petite précision ma méthode "Name" de mon contrôleur n'est jamais atteinte...

Discussions similaires

  1. error: ISO C++ does not support `long long'
    Par Suryavarman dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 13/02/2007, 23h27
  2. indexOf is not a function : pourquoi
    Par avogadro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2006, 17h50
  3. ERROR: relation "MaTable" does not exist (pgAdmin
    Par Népomucène dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/02/2006, 14h17
  4. j'ai un controle windowsmediaplayer1.URL
    Par aliosys dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/12/2005, 14h34
  5. Fatal Error : OpenGL GLX extension not support
    Par kacedda dans le forum GLUT
    Réponses: 5
    Dernier message: 06/06/2005, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo