Vragenlijst/soort van stemwijzer
Over de ajax-functie. Ikzelf heb dit (ongetest) gebouwd:
Code (php)
1
2
3
4
2
3
4
<select id="123" name="123">
<option value="0">Nee</option>
<option value="1">Ja</option>
</select>
<option value="0">Nee</option>
<option value="1">Ja</option>
</select>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$('select').on('change', function() {
var hash = 'ABCD1234567890';
var selectid = $(this).attr("id");
var requesturl = 'makechoice.php?id='+selectid+'&choice='+this.value+'&hash='+hash;
$.ajax({
url: requesturl,
cache: true,
dataType: 'html',
success: function(html){
alert('Gekozen! Hier kan je de DOM aanpassen, en met jQuery een vinkje plaatsen.')
},
error:function (xhr, ajaxOptions, thrownError){
alert('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
alert( this.value+' '+selectid );
});
var hash = 'ABCD1234567890';
var selectid = $(this).attr("id");
var requesturl = 'makechoice.php?id='+selectid+'&choice='+this.value+'&hash='+hash;
$.ajax({
url: requesturl,
cache: true,
dataType: 'html',
success: function(html){
alert('Gekozen! Hier kan je de DOM aanpassen, en met jQuery een vinkje plaatsen.')
},
error:function (xhr, ajaxOptions, thrownError){
alert('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
alert( this.value+' '+selectid );
});
De hash is bedoeld voor de opslag per uniek persoon. Ik heb geen idee hoe je je dat op dit moment regelt. Want iedereen vult het voor zich eigen in, en dus moet er een herkenning aan zitten. Ik heb deze maar even hardcoded erin gezet.
Gewijzigd op 04/05/2017 17:51:28 door - Ariën -
- Ariën - op 04/05/2017 17:51:03:
De pagina-navigatie vindt plaats aan de hand van de paginanummers in de URL. Dan kan je gewoon $i++ doen, waarbij $i in dit geval voor het getal staat. ++ zorgt voor een incrementatie.
Over de ajax-functie. Ikzelf heb dit (ongetest) gebouwd:
De hash is bedoeld voor de opslag per uniek persoon. Ik heb geen idee hoe je je dat op dit moment regelt. Want iedereen vult het voor zich eigen in, en dus moet er een herkenning aan zitten. Ik heb deze maar even hardcoded erin gezet.
Over de ajax-functie. Ikzelf heb dit (ongetest) gebouwd:
Code (php)
1
2
3
4
2
3
4
<select id="123" name="123">
<option value="0">Nee</option>
<option value="1">Ja</option>
</select>
<option value="0">Nee</option>
<option value="1">Ja</option>
</select>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$('select').on('change', function() {
var hash = 'ABCD1234567890';
var selectid = $(this).attr("id");
var requesturl = 'makechoice.php?id='+selectid+'&choice='+this.value+'&hash='+hash;
$.ajax({
url: requesturl,
cache: true,
dataType: 'html',
success: function(html){
alert('Gekozen! Hier kan je de DOM aanpassen, en met jQuery een vinkje plaatsen.')
},
error:function (xhr, ajaxOptions, thrownError){
alert('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
alert( this.value+' '+selectid );
});
var hash = 'ABCD1234567890';
var selectid = $(this).attr("id");
var requesturl = 'makechoice.php?id='+selectid+'&choice='+this.value+'&hash='+hash;
$.ajax({
url: requesturl,
cache: true,
dataType: 'html',
success: function(html){
alert('Gekozen! Hier kan je de DOM aanpassen, en met jQuery een vinkje plaatsen.')
},
error:function (xhr, ajaxOptions, thrownError){
alert('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
alert( this.value+' '+selectid );
});
De hash is bedoeld voor de opslag per uniek persoon. Ik heb geen idee hoe je je dat op dit moment regelt. Want iedereen vult het voor zich eigen in, en dus moet er een herkenning aan zitten. Ik heb deze maar even hardcoded erin gezet.
Mijn dank is groot voor het reageren, en de geschreven code. Deze ga ik implementeren na het oplossen van het doorsturen.
Als ik namelijk achter mijn url ?id=3 of ?id=2 etc. zet, verandert de content niet. Wat doe ik verkeerd?
Je moet wel een script maken in PHP (makechoice.php) die alles netjes opslaat. Het huidige script doet alleen een request.