[jquery] deel code te vroeg
ik gebruik onderstaande code om gegevens te posten via ajax naar php
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
28
29
30
31
32
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
$('.edit_textveld .input, .edit_textarea .input').live("keyup", function(e) {
//alert(e.keyCode);
if(e.keyCode == 13) {
$(this).css('background-color', 'lightgray');
$(this).attr("id","verwerking");
var variabel = $(this).parent().attr("id");
var input = $(this).val();
var dataString = 'input='+ input + variabel;
var request = $.ajax({
url: "weergave_safe.php",
type: "GET",
data: dataString,
dataType: "html"
});
request.done(function(msg) {
$("#log").html( msg);
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
$(this).css('background-color', 'red');
});
var log = $("#log").html();
if(log == "ok") {
$(this).css('background-color', 'lightgreen');
} else {
$(this).css('background-color', 'red');
}
}
});
//alert(e.keyCode);
if(e.keyCode == 13) {
$(this).css('background-color', 'lightgray');
$(this).attr("id","verwerking");
var variabel = $(this).parent().attr("id");
var input = $(this).val();
var dataString = 'input='+ input + variabel;
var request = $.ajax({
url: "weergave_safe.php",
type: "GET",
data: dataString,
dataType: "html"
});
request.done(function(msg) {
$("#log").html( msg);
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
$(this).css('background-color', 'red');
});
var log = $("#log").html();
if(log == "ok") {
$(this).css('background-color', 'lightgreen');
} else {
$(this).css('background-color', 'red');
}
}
});
alles werkt buiten het onderste gedeelte , als alles goed is zal #log gevuld worden met 'ok' maar er wordt verder niets uitgevoerd ( dus niet rood of groen ), pas de 2de keer doet hij het maar dan met de gegevens van de vorige post.
Hoe kan ik dit oplossen?
alvast bedankt
Die code moet je in de done callback plaatsen. Nu wordt hij al uitgevoerd voordat de request is gedaan.
dan staat er dus altijd ok in #log
ik heb het nu zo staan,
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
28
29
30
31
32
33
34
35
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
$('.edit_textveld .input, .edit_textarea .input').live("keyup", function(e) {
//alert(e.keyCode);
if(e.keyCode == 13) {
$(this).css('background-color', 'lightgray');
$(this).attr("id","verwerking");
var variabel = $(this).parent().attr("id");
var input = $(this).val();
var dataString = 'input='+ input + variabel;
var request = $.ajax({
url: "weergave_safe.php",
type: "GET",
data: dataString,
dataType: "html"
});
request.done(function(msg) {
if (msg == 'ok') {
$('#log').html(msg).css('background-color', 'lightgreen');
$('#verwerken').css('background-color', 'lightgreen');
$('#verwerken').attr("id","verwerkt");
} else {
$('#log').html(msg).css('background-color', 'red');
$('#verwerken').css('background-color', 'red');
$('#verwerken').attr("id","verwerkt");
}
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
$('#log').html(msg).css('background-color', 'red');
$('#verwerken').css('background-color', 'red');
$('#verwerken').attr("id","verwerkt");
});
}
});
//alert(e.keyCode);
if(e.keyCode == 13) {
$(this).css('background-color', 'lightgray');
$(this).attr("id","verwerking");
var variabel = $(this).parent().attr("id");
var input = $(this).val();
var dataString = 'input='+ input + variabel;
var request = $.ajax({
url: "weergave_safe.php",
type: "GET",
data: dataString,
dataType: "html"
});
request.done(function(msg) {
if (msg == 'ok') {
$('#log').html(msg).css('background-color', 'lightgreen');
$('#verwerken').css('background-color', 'lightgreen');
$('#verwerken').attr("id","verwerkt");
} else {
$('#log').html(msg).css('background-color', 'red');
$('#verwerken').css('background-color', 'red');
$('#verwerken').attr("id","verwerkt");
}
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
$('#log').html(msg).css('background-color', 'red');
$('#verwerken').css('background-color', 'red');
$('#verwerken').attr("id","verwerkt");
});
}
});
en nog steeds blijft het input veld grijs ( ook het id blijft 'verwerken')
Gewijzigd op 16/05/2013 17:19:44 door php knipper