Text button
Ik ben op zoek naar een manier om de text op een button dynamic te maken.
Dynamic op een manier dat het afhangt van een script.
Ik heb een scriptje dat connectie maakt met de database en daar gaat opzoeken of het spel gepauzeerd is of niet. Afhankelijk van of het spel gepauzeerd is moet de knop de tekst "Pauze" of "Verder gaan" zijn.
Ik dacht dit te doen met php maar dan wil het niet updaten als je er zelf op klikt,
maar wel als je de pagina zelf herlaad. En anderzijds heb ik ook met java geprobeerd:
zoals hier uitgelegd: Hier dus. Maar dat werkt ook niet helemaal zoals ik wil, laat staan dat ik in de mogelijkheid ben daar een script aan te koppelen :P
Het script ziet er zo uit:
Code (php)
Alvast bedankt!
Steek er niet te veel tijd in als het niet gaat, gaat het niet of als je ergens een tutorial vind waar ze dit uitleggen.
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 19/04/2014 11:00:23 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="javascript">
function updateText()
{
var button = document.getElementById("buttonPauze");
if(button.value == "Pauze")
{
button.value = "Verder Gaan";
}
else
{
button.value = "Pauze";
}
}
</script>
<input id="buttonPauze" type="button" value="Pauze" onclick="javascript:updateText();"/>
function updateText()
{
var button = document.getElementById("buttonPauze");
if(button.value == "Pauze")
{
button.value = "Verder Gaan";
}
else
{
button.value = "Pauze";
}
}
</script>
<input id="buttonPauze" type="button" value="Pauze" onclick="javascript:updateText();"/>
Bedoel je dit?
Dat is JavaScript, geen JAVA. Of zoals engelse zeggen "Java is to JavaScript what Car is to Carpet" (vrij vertaald: JavaScript is Java, wanneer een auto een vloerkleed is).
PHP werkt via de server, dat betekend dat de pagina eerst moet worden opgevraagd en dus is er op zijn minst een refresh nodig. Je moet het dus met een client side taal afhandelen, en daar is er maar 1 van: JavaScript.
Shamrock geeft je al een mooi opzetje. Maar de iets verbeterde versie:
Code (js)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<button id="js-button-continue">Pauze</button>
<script>
var btnContinue = document.getElementById('js-button-continue');
btnContinue.onclick = function (e) {
if ('Pauze' === this.innerText) {
this.innerText = 'Verder Gaan';
} else {
this.innerText = 'Pauze';
}
};
</script>
<script>
var btnContinue = document.getElementById('js-button-continue');
btnContinue.onclick = function (e) {
if ('Pauze' === this.innerText) {
this.innerText = 'Verder Gaan';
} else {
this.innerText = 'Pauze';
}
};
</script>
Gewijzigd op 19/04/2014 11:43:32 door Wouter J
en kan ik aan die function (e) dan ook een php script koppelen dat hij moet uitvoeren?
Zoiets als dit (ben momenteel offline aan het werken dus kan het niet onmiddelijk testen ...):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<button id="js-button-continue">Pauze</button>
<script>
var btnContinue = document.getElementById('js-button-continue');
btnContinue.onclick = function (e) {
if ('Pauze' === this.innerText) {
this.innerText = 'Verder Gaan';
<?php mysql_query("UPDATE game SET status='1' WHERE id='$id'");?>
} else {
this.innerText = 'Pauze';
<?php mysql_query("UPDATE game SET status='0' WHERE id='$id'");?>
}
};
</script>
<script>
var btnContinue = document.getElementById('js-button-continue');
btnContinue.onclick = function (e) {
if ('Pauze' === this.innerText) {
this.innerText = 'Verder Gaan';
<?php mysql_query("UPDATE game SET status='1' WHERE id='$id'");?>
} else {
this.innerText = 'Pauze';
<?php mysql_query("UPDATE game SET status='0' WHERE id='$id'");?>
}
};
</script>
Nee. Want zoals ik al zei werkt PHP op de server en JavaScript in de browser. Mocht je iets met PHP willen doen dan moet je dus weer een request maken naar de server, doormiddel van het laden van een pagina. Om dit zonder refresh te doen moet je kijken naar AJAX requests met JavaScript, maar ik raad je aan om eerst wat JavaScript kennis op te doen voordat je daarmee begint.
http://www.w3schools.com/php/php_ajax_database.asp
De code om iets in de database te voegen zul je in een apart php bestand moeten zetten.
Doormiddel van ajax kun je deze pagina aanroepen en de status en id meegeven in een variabele.
ok heel erg bedankt.
Code (php)
Na even zoeken heb ik gevonden hoe ik ook in de database de status wijzig maar als de status 3 wordt moet hij redirecten. Het probleem is dat als ik 3 meegeef via de functie hij soms wel en soms niet de status saved in de database. Is dit omdat hij te snel overgaat naar de redirect? Zoja hoe kan ik dan via mijn php een variabe meegeven zodat hij later redirect dus dan zou ik mijn code zo maken:
Code (php)
Maar hoe geef ik dan de variable redirect door vanuit mijn php file? Alvast bedankt