automatisch ingevulde cm omrekenen
Wat ik beter zou vinden is dat mensen niet 1 grootte in px invullen, maar 2 groottes (hoogte, breedte) in cm, en de pagina het omrekent naar px om het juist te kunnen laten zien in het voorbeeldje. Wel moet ik hoogte en breedte gewoon kunnen onthouden (om dat in het overzichtje op pagina 2 terug te laten komen).
Hoe kan ik dat doen. Wat ik nu heb is het volgende;
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<style>
textarea {
margin-left:100px;
}
button {
margin-left:100px;
}
input {
margin-left:100px;
}
</style>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<div id="container">
Voorbeeld<br>
<p id="container"></p>
</div><form method="POST" action="plaklettersverwerken2.php">
<b>Grootte in cm:</b><br>
<textarea name="fontSize" id="fontSize" cols="50" rows="2"></textarea> <br>
<b>Lettertype:</b><br>
<textarea name="fontFamily" id="fontFamily" cols="50" rows="2"></textarea><br>
<b>Kleur:</b><br>
<textarea name="fontColor" id="fontColor" cols="50" rows="2"></textarea> <br>
<b>Text:</b><br>
<textarea name="textarea" id="textarea" onkeyup="countChar(this)" cols="50" rows="10"></textarea> <br>
Standaardbedrag per letter:<br>
<textarea id="price" name="price" readonly>7.50</textarea><br>
Het aantal tekens: <br>
<textarea id="charNum" name="charNum" readonly></textarea><br>
<input type="submit" name="go" value="Save Changes!">
</form>
<button id="button">Bekijk hier het voorbeeld</button>
<script>
var container = document.getElementById('container');
document.getElementById('button').addEventListener('click', function() {
(container.style.fontSize = document.getElementById('fontSize').value;
container.style.fontFamily = document.getElementById('fontFamily').value;
container.style.color = document.getElementById('fontColor').value;
container.style.color = document.getElementById('textarea').value;
});
var textarea = document.getElementById('textarea');
var container = document.getElementById('container');
document.getElementById('textarea').addEventListener('keydown', function() {
container.innerHTML = textarea.value;
});</script>
<script>
$( document.body )
.click(function() {
$( document.body ).append( $( "<div>" ) );
var n = $( "text" ).length;
$( "span" ).text( "There are " + n + " text.");
})
// Trigger the click to start
.trigger( "click" );
</script><br>
<script>
function countChar(val) {
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 500);
} else {
$('#charNum').text(0 + len);
}
};
</script>
textarea {
margin-left:100px;
}
button {
margin-left:100px;
}
input {
margin-left:100px;
}
</style>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<div id="container">
Voorbeeld<br>
<p id="container"></p>
</div><form method="POST" action="plaklettersverwerken2.php">
<b>Grootte in cm:</b><br>
<textarea name="fontSize" id="fontSize" cols="50" rows="2"></textarea> <br>
<b>Lettertype:</b><br>
<textarea name="fontFamily" id="fontFamily" cols="50" rows="2"></textarea><br>
<b>Kleur:</b><br>
<textarea name="fontColor" id="fontColor" cols="50" rows="2"></textarea> <br>
<b>Text:</b><br>
<textarea name="textarea" id="textarea" onkeyup="countChar(this)" cols="50" rows="10"></textarea> <br>
Standaardbedrag per letter:<br>
<textarea id="price" name="price" readonly>7.50</textarea><br>
Het aantal tekens: <br>
<textarea id="charNum" name="charNum" readonly></textarea><br>
<input type="submit" name="go" value="Save Changes!">
</form>
<button id="button">Bekijk hier het voorbeeld</button>
<script>
var container = document.getElementById('container');
document.getElementById('button').addEventListener('click', function() {
(container.style.fontSize = document.getElementById('fontSize').value;
container.style.fontFamily = document.getElementById('fontFamily').value;
container.style.color = document.getElementById('fontColor').value;
container.style.color = document.getElementById('textarea').value;
});
var textarea = document.getElementById('textarea');
var container = document.getElementById('container');
document.getElementById('textarea').addEventListener('keydown', function() {
container.innerHTML = textarea.value;
});</script>
<script>
$( document.body )
.click(function() {
$( document.body ).append( $( "<div>" ) );
var n = $( "text" ).length;
$( "span" ).text( "There are " + n + " text.");
})
// Trigger the click to start
.trigger( "click" );
</script><br>
<script>
function countChar(val) {
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 500);
} else {
$('#charNum').text(0 + len);
}
};
</script>
Als je een definitie hebt van hoeveel px 1 cm is is dat geen punt, maar dat verschilt per monitor. Misschien dat je daar eerst over wilt nadenken?
Volgens een website is 1 centimeter 37.795275591 px.
Als je retina-schermen hebt is dat maar de helft (denk aan de Apple x2-images).
En op je scherm kan je 1920x1080 draaien, maar op hetzelfde scherm ook 800x600.
Dan wordt een 'pixel' zoals jij in CSS kan aansturen echt anders.
Maar...
CSS kan ook gewoon met mm en cm over weg!
Toevoeging op 25/11/2015 22:03:31:
Dus dit kan prima:
dus ga niet rekenen: laat de browser dat gewoon doen.
Thanx voor de tip. Weet iemand ook hoe ik (bijv met js of iets anders) ervoor zorg dat als iemand zoals gezegd een grootte van letters in cm invult en hij het voorbeeld wilt zien, de code zijn ingevulde cm automatisch veranderd in px.
bump
http://www.w3schools.com/cssref/pr_font_font-size.asp
http://www.w3schools.com/cssref/css_units.asp
ook voor je font kun je cm gebruiken:
http://www.w3schools.com/cssref/tryit.asp?filename=trycss_unit_cm
http://www.w3schools.com/cssref/css_units.asp
ook voor je font kun je cm gebruiken:
http://www.w3schools.com/cssref/tryit.asp?filename=trycss_unit_cm
Gewijzigd op 01/12/2015 12:42:38 door Ivo P
Nu wil ik dat de persoon de totaalprijs kan doen, alleen mijn PHP-code pakt Money_format niet:
Met de volgende code haalt hij de info uit de form die op de vorige pagina stond.
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
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
<?php
/* ensure that the data has been posted */
if($_SERVER['REQUEST_METHOD'] == 'POST') {
/* read the data from $_POST */
$fontSize = $_POST['fontSize'];
$fontFamily= $_POST['fontFamily'];
$fontColor= $_POST['fontColor'];
$textarea= $_POST['textarea'];
$charnum= $_POST['charNum'];
$price= $_POST['price'];
/* here you can do whatever you want with the data, output it, store it in a database ... */
echo "Grootte: ".$fontSize."cm<br>";
echo "Lettertype: ".$fontFamily."<br>";
echo "Kleur: ".$fontColor."<br>";
echo "Aantal letters: ".$charnum."<br>";
echo "Tekst: ".$textarea."<br>";
echo "Prijs per letter: ".$price;
$area = $charnum*$price;
print "<h2>DE PRIJS</h2>";
print money_format("%.2n", $area);
}?>
Uiteindelijk moet hij bij print money_format de totaalprijs laten zien (prijs per letter * aantal letters). Alleen dan geeft hij de volgende error:
Fatal error: Call to undefined function money_format() in C:\xampp\htdocs\plakletters\PlaklettersVerwerken2.php on line 25
Of hij herkent Money_format niet goed, of hij geeft aan dat er iets is met $area. Dat zijn de twee dingen die ik me kan voorstellen. Maar hiervoor liet ik de prijs zien zonder het in euro`s te doen en toen weergaf hij de variabele $area wel goed.
money_format
Aldus Quote:
The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.
Wat is een goed vergelijkbare manier?
Thanx. Ook dat werkt nu perfect.