text ingeven via javascript
<br />
<b></b>
Ik denk dat dat via Javascript zal moeten gebeuren. Of wat denken jullie?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<script language="Javascript">
function addText(element, text)
{
element.value += text;
}
</script>
<!-- Voorbeeldje -->
<form action="" method="post" name="formulier">
<input type="text" name="veld" />
</form>
<a href="javascript:addText(document.formulier.veld,'<br />')">Add newline (< br />)</a>
function addText(element, text)
{
element.value += text;
}
</script>
<!-- Voorbeeldje -->
<form action="" method="post" name="formulier">
<input type="text" name="veld" />
</form>
<a href="javascript:addText(document.formulier.veld,'<br />')">Add newline (< br />)</a>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Het vak waar het zou moeten toegevoegd worden is een textarea. Is dat een probleem?
nope
Dit is de lijn waar het zou moeten gebeuren:
Het element waar je tekst in wilt laten plaatsen (in dit geval je tekstarea) wordt in javascript aangeduid in de vorm: document.<formuliernaam>.<elementnaam>
Belangrijk is dus dat je je formulier ook een naam geeft, zie ook mijn voorbeeld.
In jouw geval zal het dus worden:
addText(document.<naam van je formulier>.event, '<tekst die je wilt toevoegen>')
Gaat het om name of id?
En <br /> moet ik misschien opgeven als <br />
Peter Paul Koch:
JavaScript benadert DOM elementen via het id. De beste methode is document.getElementById. Als je het ook voor oudere browsers wilt laten werken moet je een generieke functie schrijven. Ik gebruik altijd die van 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
function getObj (name)
{
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
{
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
Kijk nog eens goed naar het voorbeeld dat ik gaf, daarin worden de twee vragen die je als laatste stelt al beantwoord...
voeg ik toe tussen de head tags? En de andere code tussen de form tags, of enkel de a href?
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
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = init;
function init () {
var _newline = document.getElementById ('newline');
_newline.onclick = set_newline;
}
function set_newline () {
var _tekst = document.getElementById ('tekst');
_tekst.value += " stukje erbij...";
}
</script>
</head>
<body>
<form method="post">
<p>
<textarea id="tekst"></textarea>
</p>
<p>
<input id="newline" type="button">
</p>
</form>
</body>
</html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = init;
function init () {
var _newline = document.getElementById ('newline');
_newline.onclick = set_newline;
}
function set_newline () {
var _tekst = document.getElementById ('tekst');
_tekst.value += " stukje erbij...";
}
</script>
</head>
<body>
<form method="post">
<p>
<textarea id="tekst"></textarea>
</p>
<p>
<input id="newline" type="button">
</p>
</form>
</body>
</html>
Prachtig, het werkt, nu kan ik toevoegen wat ik wil! Nogmaals bedankt!
Graag gedaan :-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
window.onload = init;
function init () {
var _newline = document.getElementById ('newline');
_newline.onclick = set_newline;
var _bold = document.getElementById ('bold');
_bold.onclick = set_bold;
}
function set_newline () {
var _tekst = document.getElementById ('event');
_tekst.value += " <br />";
}
function set bold () {
var_tekst = document.getElementById ('event');
_tekst.value += "<b><\/b>";
</script>
window.onload = init;
function init () {
var _newline = document.getElementById ('newline');
_newline.onclick = set_newline;
var _bold = document.getElementById ('bold');
_bold.onclick = set_bold;
}
function set_newline () {
var _tekst = document.getElementById ('event');
_tekst.value += " <br />";
}
function set bold () {
var_tekst = document.getElementById ('event');
_tekst.value += "<b><\/b>";
</script>
Moet ik de nieuwe variabele anders declareren?
Er hoort een streepje in je functienaam set bold en die staat er niet.
Dit zijn de buttons:
Code (php)
1
2
2
<input id="newline" type="button" value="Nieuwe regel" />
<input id="bold" type="button" value="Vetgedrukt" />
<input id="bold" type="button" value="Vetgedrukt" />
Gewijzigd op 01/01/1970 01:00:00 door jvuz
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function addText (target, value) {
_target = document.getElementById (target);
_target.value += value;
}
</script>
</head>
<body>
<form method="post">
<p>
<textarea id="tekst"></textarea>
</p>
<p>
<input id="newline" value="newline" onClick="addText('tekst','<br />')" type="button">
<input id="bold" value="bold" onClick="addText('tekst','<b></b>')" type="button">
</p>
</form>
</body>
</html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function addText (target, value) {
_target = document.getElementById (target);
_target.value += value;
}
</script>
</head>
<body>
<form method="post">
<p>
<textarea id="tekst"></textarea>
</p>
<p>
<input id="newline" value="newline" onClick="addText('tekst','<br />')" type="button">
<input id="bold" value="bold" onClick="addText('tekst','<b></b>')" type="button">
</p>
</form>
</body>
</html>
Getest en werkend. Bij elke button geef je een onClick waarde mee waarin je addText aanroept. Op zijn beurt verlangt addText weer een target en een waarde...
Edit:
typo
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Het wordt nog weer mooier als je het toekennen van de functies aan de buttons uit de HTML haalt en in de JavaScript sectie doet. Op die manier kun je namelijk je HTML(PHP), CSS en JS helemaal gescheiden houden.
Hehe klopt, we komen er wel uiteindelijk :P
Jullie zijn geweldig! Ik moet wel zeggen dat ik nog niet zover ben, betreffende de laatste comment van Jan. Ik ben al blij dat ik dit heb. Nogmaals bedankt.