JQuery werkt niet...
ik zie mijn fout niet en heb reeds http://api.jquery.com/html/ & http://api.jquery.com/jQuery.get/ geraadpleegd maar ik zie het niet....
Ik heb een JQuery functie gemaakt:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#klik").click(function() {
var overzicht = $("#myTable").html;
alert("Data Loaded: " + overzicht);
});
}) ;
</script>
En in de body staat er:
<table id="myTable" class="tablesorter">
<thead>
......
</thead>
<tbody>
......
</tbody>
</table>
Wat is er fout?
Als ik dit uitvoer (klik op de div klik), krijg ik geen uivoer (en een ellenlange lijst met tekens...)
Vriendelijke groeten!
Je geeft aan dat je op een button klikt met een id genaamd klik maar ik zie dit nergens terug in je html?
en volgens mij moet het html(); zijn ipv html;
Zo:
<a id="klik" href="">Klik!</a>
Hertog Jan, klopt inderdaad, nu werkt het wel (toch een domme fout blijkbaar)
Waarvoor dank! :-D
Gewijzigd op 29/10/2012 21:49:13 door Reshad F
1) specificeer altijd een versie. jQuery is niet altijd backwards-comptable en nieuwe versies kunnen er voor zorgen dat scripts anders worden uitgevoerd dan jij verwacht. Tevens werken sommige jQuery plugins alleen met bepaalde versies.
2) Laat je href attribute nooit leeg. Gebruik # of javascript:void(0), het nadeel van # is dat je naar de bovenkant van de pagina gaat, javascript:void(0) is daarom beter om te gebruiken.
En dit soort fouten kun je altijd zelf oplossen, dat geeft een beter gevoel :) JS fouten krijg je te zien in je console (Ctrl + J of F12 in IE), dan zie je in welk bestand, welke regel en wat er fout is.
Ik pas ze beiden zeker toe.
Ik gebruik nu FireBug om alles te weten te komen ivm fouten in mijn JQuery.
Ik heb nu wel een fout in mijn script heb iets aangepast..
<script type="text/javascript">
$(document).ready(function(){
$("#myTable").tablesorter();
$("#klik").click(function() {
var overzicht = $("#myTable").html();
$.ajax({
type: "POST",
url: "exemple00.php",
data: "tekst="+overzicht,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
});
});
</script>
Moet wel zeggen dat mijn variabel 'overzicht' vrij lang is (+- 500 tekens)...
Vriendelijke groeten
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$.ajax({
...,
complete: function(xhr, status) {
console.log('[Request ' + status + '] (' + xhr.status + ') ' + xhr.statusText);
}
});
...,
complete: function(xhr, status) {
console.log('[Request ' + status + '] (' + xhr.status + ') ' + xhr.statusText);
}
});
Nu kun je in de console vinden of er wat fout is gegaan of dat alles goed gaat.
data: "tekst="+overzicht,
Overzicht is een lange string, en bevat tekens die actief zijn voor de url. Tekens als = & ?
Dus, die moet je sowieso escapen.
data: "tekst=" + escape(overzicht),
Verder: een notatie die ik verkies is om de data als 1 object mee te geven.
bv:
data: 'tekst=' + overzicht + '&id=' + id
kan je schrijven als
volgende code gebruik ik nu =>
$("#klik").click(function() {
var overzicht = $("#myTable").html();
$.ajax({
type: "POST",
url: "exemple00.php",
data: "tekst="+ escape(overzicht),
async: false,
success : function(text) {
$('#login').html(text); // = steek tekst als innerHTML van het element met id="login"
}
});
});
});
});
Echter nog een probleem. Volgens FireBug voer ik alles uit, maar de uitvoer (een PDF-bestand -> deze code is wel correct hoor) verschijnt niet continue in deze div. Ik dien alles 'Vast te houden' in de Firebug-module zodat de code niet verdwijnt. Dus de JQuery verdwijnt telkens direct na uitvoer en blijft niet op het scherm staan... Enig idee wat er nog verbeterd/aangepast moet worden?
PS Hartelijk bedankt voor jullie hulp tot nu toe!
Gewijzigd op 30/10/2012 14:06:47 door Olivier Peeters