Autocomplete werkt niet in Safari
Ik heb een zoekveld op mijn website waar ik kan zoeken op bedrijven die in mijn database staan.
Nu werkt alles prima in Firefox en Chrome maar niet in Safari en ik weet niet waarom.
Dit is de code in menu.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
$(document).ready(function()
{
$('#auto').autocomplete(
{
source: "http://100lisse.nl/includes/search.php",
minLength: 3,
select: function(event,ui)
{
window.location = '/pagina/bedrijfoverzicht?naam='+ui.item.value;
}
});
});
</script>
$(document).ready(function()
{
$('#auto').autocomplete(
{
source: "http://100lisse.nl/includes/search.php",
minLength: 3,
select: function(event,ui)
{
window.location = '/pagina/bedrijfoverzicht?naam='+ui.item.value;
}
});
});
</script>
En dit is de code in search.php (source)
Code (php)
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
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
<?php
include $_SERVER['DOCUMENT_ROOT'].'/includes/database.php';
include $_SERVER['DOCUMENT_ROOT'].'/includes/global-functions.php';
$database = new database();
$text = check_input($_GET['term']);
//$text = url_to_domain($text);
$q = "SELECT DISTINCT bedrijfsnaam, id FROM bedrijven WHERE bedrijfsnaam LIKE '%$text%' ORDER BY id ASC";
$result = $database->query($q);
$json = '[';
$first = true;
while($row = mysqli_fetch_assoc($result))
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['bedrijfsnaam'].'"}';
}
$json .= ']';
echo $json;
?>
include $_SERVER['DOCUMENT_ROOT'].'/includes/database.php';
include $_SERVER['DOCUMENT_ROOT'].'/includes/global-functions.php';
$database = new database();
$text = check_input($_GET['term']);
//$text = url_to_domain($text);
$q = "SELECT DISTINCT bedrijfsnaam, id FROM bedrijven WHERE bedrijfsnaam LIKE '%$text%' ORDER BY id ASC";
$result = $database->query($q);
$json = '[';
$first = true;
while($row = mysqli_fetch_assoc($result))
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['bedrijfsnaam'].'"}';
}
$json .= ']';
echo $json;
?>
Gewijzigd op 21/01/2015 12:18:40 door Furio Scripting
Welke JQuery versie gebruik je en is er misschien een nieuwere versie die het probleem oplost?
Dit zijn de enige twee dingen die ik zou kunnen bedenken.
Frank Nietbelangrijk op 21/01/2015 13:40:20:
Misschien een HTML probleempje? probeer eens de w3c validator.
Welke JQuery versie gebruik je en is er misschien een nieuwere versie die het probleem oplost?
Dit zijn de enige twee dingen die ik zou kunnen bedenken.
Welke JQuery versie gebruik je en is er misschien een nieuwere versie die het probleem oplost?
Dit zijn de enige twee dingen die ik zou kunnen bedenken.
Bedankt voor uw reactie, ik gebruik jquery versie 2.1.1. Er zitten wel wat html fouten in de website maar dit is niet geralteerd aan de html die gebruikt wordt bij de search bar.
Gewijzigd op 21/01/2015 15:28:20 door Furio Scripting
Misschien komt het omdat externe AJAX-aanroepen geblokkeerd worden, omdat het een externe server is?
- Aar - op 21/01/2015 15:38:39:
Misschien komt het omdat externe AJAX-aanroepen geblokkeerd worden, omdat het een externe server is?
En hoe weet een server of het request via ajax of via de browserbalk komt?
In ieder geval zou de console-debug in Firefox/Chrome een melding moeten geven als hij hierop stuk loopt.
Gewijzigd op 21/01/2015 15:50:26 door - Ariën -
Dit voorbeeld werkt wel in alle browsers: http://jqueryui.com/autocomplete/
Maar dit gaat niet via Ajax...wellicht dat hier het probleem ligt met Safari.
Gewijzigd op 21/01/2015 15:54:46 door Furio Scripting