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:
J'ai donc une erreur au niveau de mon fichier autocomplete.js...AutoComplete control error: url.indexOf is not a function
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
Partager