[opgelost] checkbox vraag
Dit is waarschijnlijk niet met php, maar ik heb een vraag over een checkbox.
Korte inleiding: Ik ben bezig met een simpele blog, open source uiteraard en ben nu bezig met de administratie gedeelte. Ik wil met een Checkbox aangeven of de gebruiker <pre> wilt gebruiken ja of nee.
Wat ik nu wil is het volgende:
Als de checkbox wordt aangevinkt, wil ik dat er "yes" komt te staan, als de checkbox niet is aangevinkt wil ik dat er "no" komt te staan.
1) Kan dit?
2) Zoja, wie heeft er een voorbeeld voor mij?
Alvast bedankt!
(Uiteraard zal je een plekje krijgen bij de Credits, dus als je ook een website heb, moet je dat er even bij zetten ;)
Greetz,
Chris
Gewijzigd op 01/01/1970 01:00:00 door Chris
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
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
if(strtolower($_POST['usePre']) == "yes")
{
// in de database wegschrijven: yes
}
elseif(empty(strtolower($_POST['usePre'])))
{
// in de database wegschrijven: no
}
}
?>
<!-- Het formulier -->
<input type="checkbox" name="usePre" value="yes" />
if($_SERVER["REQUEST_METHOD"] == "POST")
{
if(strtolower($_POST['usePre']) == "yes")
{
// in de database wegschrijven: yes
}
elseif(empty(strtolower($_POST['usePre'])))
{
// in de database wegschrijven: no
}
}
?>
<!-- Het formulier -->
<input type="checkbox" name="usePre" value="yes" />
EDIT: Netter geformatteerd.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Wat ik bedoel is dat je bij admin.php dan niet gelijk in de db schrijft, maar dat hij alleen tekst laat zien met ja of nee.
Ik heb het al vaker gezien en dat ziet er heel kicke uit, als je dan op een checkbox klikt komt er wat anders te staan..
Misschien dat het zo duidelijker is?
Greetz
Nee, ik weet niet precies wat je dan bedoelt :P
Misschien zo :P :
je hebt een checkbox, en dat heeft effe niets met een formulier te maken voor de rest.
als je de checkbox aanvinkt, laat hij tekst 1 zien.
als je de checkbox niet aanvinkt, laat hij tekst 2 zien.
Maar dan zonder te refreshen! :D
Maar hier haak ik af, omdat ik niet goed ben in AJAX XD
Ik dacht al dat het met AJAX zou zijn, wat zonde is omdat ik voor Feijenoord ben... Geintje :P
Iemand die goed is met AJAX aanwezig?
Waarom moet je dan ajax gebruiken? Simpele javascript is in principe genoeg.. ik werk wel even wat uit ;)
GaMer13 schreef op 18.09.2007 16:06:
Hihi, nu snap ik je. Dan moet je AJAX (Asynchrone Javascript and XML) gebruiken.
Maar hier haak ik af, omdat ik niet goed ben in AJAX XD
Maar hier haak ik af, omdat ik niet goed ben in AJAX XD
Of een onmouseclick hihi
Maar goed, met javascript, met ajax, ben ik niet goed.. Harstikke bedankt voor jullie hulp!
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
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Prabhjeet Singh">
<title>Pre-select</title>
<script language="JavaScript" type="text/javascript">
function prefunc(){
var checkbox = document.getElementById('pre');
var textspace = document.getElementById('pretext');
var value = document.getElementById('value');
if(checkbox.checked == true){
textspace.innerHTML = "Yes";
}
else{
textspace.innerHTML = "No";
}
}
</script>
</head>
<body onload="prefunc()">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset id="Adminform"><legend>Administratie:</legend>
<p style="display:inline;"><label class="formulier" for="pre" id="prelabel">pre</label><input type="checkbox" value="yes" name="pre" id="pre" onChange="prefunc()"><p style="display:inline;" id="pretext"></p></p>
</fieldset>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Prabhjeet Singh">
<title>Pre-select</title>
<script language="JavaScript" type="text/javascript">
function prefunc(){
var checkbox = document.getElementById('pre');
var textspace = document.getElementById('pretext');
var value = document.getElementById('value');
if(checkbox.checked == true){
textspace.innerHTML = "Yes";
}
else{
textspace.innerHTML = "No";
}
}
</script>
</head>
<body onload="prefunc()">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset id="Adminform"><legend>Administratie:</legend>
<p style="display:inline;"><label class="formulier" for="pre" id="prelabel">pre</label><input type="checkbox" value="yes" name="pre" id="pre" onChange="prefunc()"><p style="display:inline;" id="pretext"></p></p>
</fieldset>
</form>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
@Robert Deiman, op regel 28 ben je na display:inlin; een " vergeten.
Dat moet met JS..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<script>
function(usePre);
var usePre = document.getElementById['usePre'].value;
if usePre == 'yes' {
document.getElementById['pre'].innerhtml = 'Yes';
} else {
document.getElementById['pre'].innerhtml = 'No';
}
</script>
<input type="checkbox" name="usePre" value="yes" onClick="usePre()" />
<div id="pre">No</div>
function(usePre);
var usePre = document.getElementById['usePre'].value;
if usePre == 'yes' {
document.getElementById['pre'].innerhtml = 'Yes';
} else {
document.getElementById['pre'].innerhtml = 'No';
}
</script>
<input type="checkbox" name="usePre" value="yes" onClick="usePre()" />
<div id="pre">No</div>
Excuuses voor m'n JS, ik hoop dat het werkt, zoniet mogen andere mij verbeteren!
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
Thanks 2 both of you!
GreetZ,
Chris
GaMer13 schreef op 18.09.2007 16:33:
@Robert Deiman, op regel 28 ben je na display:inlin; een " vergeten.
Dank voor de tip, het werkte al, maar had dit foutje er blijkbaar nog in zitten
Tommy schreef op 18.09.2007 16:34:
Bedoel je dat dat op de pagina komt te staan zonder te refreshen/submitten?
Dat moet met JS..
Excuuses voor m'n JS, ik hoop dat het werkt, zoniet mogen andere mij verbeteren!
Dat moet met JS..
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<script>
var usePre = document.getElementById['usePre'].value;
if usePre == 'yes' {
document.getElementById['pre'].innerhtml = 'Yes';
} else {
document.getElementById['pre'].innerhtml = 'No';
</script>
<input type="checkbox" name="usePre" value="yes" onClick="usePre()" />
<div id="pre">No</div>
var usePre = document.getElementById['usePre'].value;
if usePre == 'yes' {
document.getElementById['pre'].innerhtml = 'Yes';
} else {
document.getElementById['pre'].innerhtml = 'No';
</script>
<input type="checkbox" name="usePre" value="yes" onClick="usePre()" />
<div id="pre">No</div>
Excuuses voor m'n JS, ik hoop dat het werkt, zoniet mogen andere mij verbeteren!
En hoe denk jij dat die aangeroepen moet worden, in de onClick roep je usePre() (functie!) aan en je maakt alleen een variabele usePre aan.
Ja, dat bedoel ik dus, ik niet goed JS..
Chris schreef op 18.09.2007 16:36:
Robert, bedankt! Ik dacht eerst dat het niet werkte, maar je moet eerst ergens anders op klikken, het werkt dus!
Thanks 2 both of you!
GreetZ,
Chris
Thanks 2 both of you!
GreetZ,
Chris
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
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Prabhjeet Singh">
<title>Pre-select</title>
<script language="JavaScript" type="text/javascript">
function prefunc(){
var checkbox = document.getElementById('pre');
var textspace = document.getElementById('pretext');
var value = document.getElementById('value');
if(checkbox.checked == true){
textspace.innerHTML = "Yes";
}
else{
textspace.innerHTML = "No";
}
}
</script>
</head>
<body onload="prefunc()">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset id="Adminform"><legend>Administratie:</legend>
<p style="display:inline;><label class="formulier" for="pre" id="prelabel">pre</label><input type="checkbox" value="yes" name="pre" id="pre" onclick="prefunc()"><p style="display:inline;" id="pretext"></p></p>
</fieldset>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Prabhjeet Singh">
<title>Pre-select</title>
<script language="JavaScript" type="text/javascript">
function prefunc(){
var checkbox = document.getElementById('pre');
var textspace = document.getElementById('pretext');
var value = document.getElementById('value');
if(checkbox.checked == true){
textspace.innerHTML = "Yes";
}
else{
textspace.innerHTML = "No";
}
}
</script>
</head>
<body onload="prefunc()">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset id="Adminform"><legend>Administratie:</legend>
<p style="display:inline;><label class="formulier" for="pre" id="prelabel">pre</label><input type="checkbox" value="yes" name="pre" id="pre" onclick="prefunc()"><p style="display:inline;" id="pretext"></p></p>
</fieldset>
</form>
</body>
</html>
Het probleem met het eerst ergens anders klikken is nu ook weg ;)
Tommy schreef op 18.09.2007 16:38:
Ja, dat bedoel ik dus, ik niet goed JS..
En zinsconstructie gaat ook al niet zo lekker :P ^.^
Doh.. dat was de 'grap' :L
Robert_Deiman schreef op 18.09.2007 16:39:
Het probleem met het eerst ergens anders klikken is nu ook weg ;)
Chris schreef op 18.09.2007 16:36:
Robert, bedankt! Ik dacht eerst dat het niet werkte, maar je moet eerst ergens anders op klikken, het werkt dus!
Thanks 2 both of you!
GreetZ,
Chris
Thanks 2 both of you!
GreetZ,
Chris
Het probleem met het eerst ergens anders klikken is nu ook weg ;)
Geweldig! Dit is precies goed!
Uhm, toch nog een vraagje, hoe moet ik dit nou gaan doen met de database zeg maar?
Wat ik nu heb is dit:
Code (php)
1
2
3
4
2
3
4
INSERT INTO blog SET
title = '".mysql_real_escape_string ($title)."',
author = '".mysql_real_escape_string ($author)."',
blog = '".mysql_real_escape_string ($bloginsert)."'";
title = '".mysql_real_escape_string ($title)."',
author = '".mysql_real_escape_string ($author)."',
blog = '".mysql_real_escape_string ($bloginsert)."'";
Moet ik nog een extra tabel aanmaken in de database, maar hoe moet ik er dan voor zorgen dat het de db in gaat?
Gewijzigd op 01/01/1970 01:00:00 door Chris
je kan de waarde gewoon opvragen uit de $_POST array.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$q = "
INSERT INTO
blog
SET
title = '".mysql_real_escape_string ($title)."',
author = '".mysql_real_escape_string ($author)."',
blog = '".mysql_real_escape_string ($bloginsert)."',
pre = mysql_real_escape_string($_POST['pre'])."'
";
?>
$q = "
INSERT INTO
blog
SET
title = '".mysql_real_escape_string ($title)."',
author = '".mysql_real_escape_string ($author)."',
blog = '".mysql_real_escape_string ($bloginsert)."',
pre = mysql_real_escape_string($_POST['pre'])."'
";
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan geen