Jump to content
GSForum - Segélyvonal

JAVA != JavaScript


[OP]Destroy-man
 Share

Recommended Posts

[OP]Destroy-man

Írtam egy kicsi appletet, ami annyit csinál, hogy egy TextArea-ban lévõ szöveget soronként kiolvas, és egy tömbbe teszi õket (soronként).

Ez eddig müködik is, viszont a feladat második része az lenne, hogy a tömb tartalmát egyesével hozzá kéne rendelni egy HTML fájl input mezejéhez. Minden egyes elemet egy új inputhoz. Összesen 40 input mezõ áll rendelkezésre, ezt a string nem is lépi túl. Egyszerübben egy ilyen összerendelést szeretnék:

HTML input id1 value = string[0]

HTML input id2 value = string[1]

...és így tovább.

 

A kérdés, hogyan tudom átadni az értékeket. Vagy ez nem lehetséges?

Link to comment
Share on other sites

KGigi

Miért ne lenne lehetséges? Akár dinamikusan is létre tudod hozni az input mezőket. Kikeresed a DOM-ban a formot, és ahhoz hozzáadsz egy új inputmezőt.

Link to comment
Share on other sites

[OP]Destroy-man

Javaval eddig csak konzolos felületen dolgoztam, ez a rész még elég homályos számomra. Maga a HTML oldal már kész van, ehez készülne ez a kis segédprogram, hogy az oldal müködését segítse. A HTML fájlhoz már nem szeretne nyúlni a fejlesztõje, csak az én appletem kerülne rá.

 

Azt látom a dokumentációban, hogy az inputnak az értékét simán meg lehet adni, csak azt nem találom benne, hogy hogyan hivatkozzak magára az input mezõre. Esetleg tudnál írni egy rövid példát rá? Amiket én találtam, azok mind XML fájl olvasásával foglalkozik.

Link to comment
Share on other sites

Pjotr
Javaval eddig csak konzolos felületen dolgoztam

Csak én nem értem?

Link to comment
Share on other sites

[OP]Destroy-man

Másképpen fogalmazva:

C-hez hasonló, konzolos programokat készítettem vele.

Link to comment
Share on other sites

KGigi

A Javának semmi köze a JavaScripthez.

Link to comment
Share on other sites

[OP]Destroy-man

Némi köze azért van. Na mindegy. Akkor nyitok neki egy topicot. :)

Link to comment
Share on other sites

KGigi

Mindkettõ programozási nyelv? :D

Link to comment
Share on other sites

[OP]Destroy-man

Megvan a megoldás, és az összefüggés is. :)

JAVA és a HTML között a Javascript kommunikál, azaz JS-el lehet összekapcsolni őket. :) Ezekszerint mégis jó helyen kérdeztem.

Ha javaban egy tömböt adok át a js-nek (return tomb), akkor ezt hogy tudom végigpörgetni JS-el?

Per pillanat így néz ki a JS kód:

function getValueFromApplet(){
   inputField=document.getElementById('1');

        inputField.value=document.getElementById('app').d1t1();
   return true;
   }

 

Ezenkívűl még az is érdekelne, hogyan tudnám úgy frissíteni az oldalt, hogy az átadott tartalmat megjelenítse, mert per pillanat csak átadja az inputnak a tartalmat, de látszani nem látszik. Ez így alpha fázisban még okés, de amikor publikus lesz az oldal, akkor már nem az igazi. :)

Link to comment
Share on other sites

KGigi

A Javának semmi köze a JavaScripthez...

Link to comment
Share on other sites

kléni

Nem értem, mi ez, hogy nem látszik? Megvan az inputnak a value értéke, csak a mezõben nem látod azt a tartalmat?

Link to comment
Share on other sites

[OP]Destroy-man

Pontossan. :) A value értéket azért nem látom, mert késöbb kapja meg, mint ahogy a HTML betöltõdne.

Magán az oldalon van egy Java applet, ami egy szövegmezõböl egy String[]-et képez, amit a JS átad a HTML input mezejének. De mivel stringet csak akkor hozom lérte, amikor a HTML már betöltõdött, ezért nem látszik. Az értéket megkapja, POSTnál jól látszik, hogy tovább küldi.

Link to comment
Share on other sites

kléni

Nem értem. Mi baj azzal, hogy már betöltött a HTML? elem.value = "szoveg" bármikor megadható...

Link to comment
Share on other sites

[OP]Destroy-man

ITT van az oldal szemléltetõ változata.

Ha a disc1 van kijelölve, akkor a felsõ sort töléti ki, ha a disc2, akkor az alsó sort.

Az értékeket az appletbõl veszi, soronként az egymás melleti mezõbe kellene kiírnia õket, de ezt nem teszi meg, csak az értéket adja át neki. Ha a klüdésre kattintasz, akkor átugrik a google oldalára (feldolgozó oldalt nem akartam írni hozzá), viszont a webcím mezõben jól látszik, hogy az értékek megvannak.

Link to comment
Share on other sites

KGigi

A forráskódban viszont nincsenek ott, szóval a JS-ben rossz valami. Egyébként ehhez minek Java?

Link to comment
Share on other sites

[OP]Destroy-man

A JS kód:

<script>
function getValueFromApplet(){

        var szamlista = document.getElementById('app').dxty();

        for (i = 0; i < document.getElementById('app').sor(); i++){
        inputField=document.getElementById(i+1);
        inputField.value=szamlista[i];
    }
   return true;

   window.location.reload();
   }
</SCRIPT>

 

Ha nem java, akkor mivel valósítod meg? A Feladat, hogy egy elõre beírt szöveget - vagy annak egy részét - soronkonként átadjon az input mezõnek. Kézzel begépelve elég sokáig tartana, lévén, hogy ~100.000 sort kéne jelen pillanatban kitölteni, amit ezzel a módszerrel ~3.000-re lehetne redukálni.

Késöbbiekben tartalom alapján még szürni is fog az applet, pl. ha számmal, vagy szimbolummal kezdõdik a szöveg, akkor azt levágja, és csak a szövegtõl kezd majd el olvasni.

Link to comment
Share on other sites

KGigi

Az egész függvény rossz. Eleve az oldal újratöltése már le sem fut, mert visszaadod előtte a vezérlést (return). Másrészt az input típusa text, annak van value-ja. Ez az <input type="input" /> fogalmam sincs, hogy micsoda. Lehet, hogy működik, de ez attól még nem jó. Arról nem is beszélve, hogy az egész csak az onsubmit, azaz elküldés eseményre fut le. Még szép, hogy átíráskor nem látod.

 

Egyébként amit most leírtál, azt mind meg lehet csinálni JavaScriptben. Akkor kell csak más, ha később a mező tartalmát fájlból vagy adatbázisból akarod beolvasni. De akkor is ott a PHP, emiatt felesleges Javázni, ráadásul ehhez fent is kell lennie a Java Runtimenak.

Link to comment
Share on other sites

[OP]Destroy-man

Javítottam a hibákat, viszont az onsubmit helyett mit adjak meg neki?

Link to comment
Share on other sites

KGigi

Oda semmi nem kell. A beviteli mezőnek kellene onchange eseményként adni. Nem tudom, ezt Javában hogyan tudod megoldani. Ha másképp nem megy, csinálhatsz egy frissítés gombot, ami lefuttatja ezt a függvényt.

Link to comment
Share on other sites

[OP]Destroy-man

JS-be hogy tudom megoldani? Nekem az is jó. Java-ban csak a feldogozó modul van, az adatokat már JS küldi a formnak.

Link to comment
Share on other sites

KGigi

Semmi különös, a textmezõre kell egy onchange, ami ugyanezt a függvényt hívja meg. A frissítés nem kell.

Link to comment
Share on other sites

[OP]Destroy-man

Így kéne csinálni?

<input type="text" value="" name="name" id="1" onChange="getValueFromApplet()"/>

Mert így nem csinál semmit. Még az értéket sem veszi át.

Link to comment
Share on other sites

KGigi

Ezt nem értem. Annak a mezõnek legyen onChange-e, amibõl olvasol, nem amibe olvasol.

Link to comment
Share on other sites

[OP]Destroy-man

JS-ből olvasok, annak meg nincs onChange. Legalábbis én nem találtam.

Egy faék megoldással most azt csináltam, hogy egy gombot helyeztem el a formra, ami olvassa a JS-t.

 

Szerk.:

Sikerült megoldani. Találtam egy megoldást, amivel JAVA-bol meg lehet hívni a JS-t.

Link to comment
Share on other sites

kléni

JavaScriptben nincs onChange? :pislog:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...