Autor Zpráva
hondziiikh
Profil
Ahoj, mám prosím dotaz, mám input text, do nej když dám číslo, vykreslí se v canvasu podle něj čára. Teda měla by.. ale nevím, jak hodnotu z toho inputu dostat do var..
dám co mám:
var sirka=0;
function updateInput(hodnota){
    var sirka = hodnota;
}
a v inputu mam:
<input type="text" id="sirka" name="sirka" onchange="updateInput(this.value)" />
to var sirka=hodnota; bude asi blbě..
ve finale to ma udelat context.fillRect (0, 31, sirka, 40); a misto sirka napasovat tu hodnotu šířka z text inputu. Nějaké rady? klidně i nadávky, za radu to snesu :)

Díky j
shaggy
Profil
Odstráň var z vnútra funkcie:
function updateInput(hodnota){
    sirka = hodnota;
}
hondziiikh
Profil
shaggy:
zkusil jsem a stejne.. jen pro info chyba je az dal.. ted jsem si zkousel do te fce dat alert(hodnota) a alertne ji spravne, zkousel jsem i alert(sirka) a take ok.. ale nevlozi, resp neupdatne ji do toho context.fillRect (0, 31, sirka, 40); necham bez var, ale prosim o radu co je spatne tady?
_es
Profil
hondziiikh:
input text, do nej když dám číslo, vykreslí se v canvasu podle něj čára.
No ale len zmenou nejakej premennej sa nič nevykreslí. Prečo zmena toho inputu nevyvolá priamo to „vykreslenie“?
hondziiikh
Profil
_es:
To mě napadlo teď, když jsem to odeslal :) nicméně pořád mi to nejde :( dám co jsem vymyslil teď:

var sirka=0;
function updateInput(sirka){
context.fillRect  (0, 72, sirka, 40);    
}
ale to bych tu fci musel umistit na to dane místo, a kde potom bude x,y a delka? Mělo to dynamicky vykreslovat placnu třeba čtverec, zadam šířka 100, udělá 100px dlouhou a 0px "vysokou" čáru. potom dám výšku třeba 50, a změní z 1 na 50, tedy vznikne obdélník 100x50..


zkusim poslat cele a zkuste mi prosim vymyslet, kam a jak tu fci umistit, ja jsem s js v začátcích, a kolega co to pro mě dělá když je třeba, bude až v pondělí.. A to nemůžu vydržet :)
tady je js soubor:
window.addEventListener('load', function () {
    var elem = document.getElementById('myCanvas');
    if (!elem || !elem.getContext) {
        return;
    }


    var context = elem.getContext('2d');
    if (!context) {
        return;
    }

    context.fillStyle   = '#00f'; // blue
    context.strokeStyle = '#f00'; // red
    context.lineWidth   = 4;
    context.fillRect  (0, 113, 30, 40);
}, false);
a tady je html
<form action="pocitej.php" method="post">
            <table>
                <tr><td>šířka</td><td><input type="text" id="sirka" name="sirka" onchange="updateInput(this.value)" /></td><td>(venkovní rozměr)</td></tr>
                <tr><td>délka</td><td><input type="text" id="delka" name="delka" /></td><td>(venkovní rozměr)</td></tr>
                <tr><td></td><td><input type="submit" value="pocitej" /></td></tr>
            </table>
        </form>
        <p>
            <canvas id="myCanvas" width="500" height="500" style="position:absolute; top:10px; right: 10px; border: 1px solid red;">
                Prohlížeč nepodporuje HTML5
            </canvas>
        </p>
Díky moc

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: