Toon posts:

Java met html variablen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey tweakers,

Ik heb een lastig probleempje. Ik ben bezig java in html te importeren. dat lukt wel allemaal. Hij runt wel. Maar nu heb ik een probleem. De user kan dus de tekst tikken, lettertype kiezen, grootte kiezen en soort (italic,bold). Dit staat in een html form.

Stukje code:
<form method="POST" action="javabanner.htm">
<input type="text" name="tekst" size="35">
Lettertype:
<select size="1" name="ltype">
<option selected>Plain</option>
<option>Courier</option>
<option>Helvetica</option>
<option>Times Roman</option>
</select>
Soort:
<select size="1" name="soort">
<option selected>Plain</option>
<option>Italic</option>
<option>Bold</option>
</select>
Grootte:
<input type="text" name="Grootte" size="3">
<input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2">

<applet code="Banner.class" width="390" height="250">
<param name="tekst" value="tekst">
<param name="ltype" value="ltype">
<param name="grootte" value="grootte">
<param name="soort" value="soort">
</applet>
</form>


dit is dus het stukje code. Ik wil dus de variable name="tekst" laten inlezen in java.

Bijvoorbeeld bij grootte. Als een user 35 intikt dan moet het lettertype in java dus ook 35 zijn.

In java haal ik het zo op:

tekst=getParameter("tekst");
soort=getParameter("soort");
ltype=getParameter("ltype");
try{
letgr=Integer.parseInt(getParameter("grootte"));
}
catch(java.lang.NumberFormatException e){}
g.setFont(new Font ("ltype",Font.PLAIN, letgr));


Weet iemand misschien hoe ik de Html variable dus in java ingelezen krijg???? Een klein voorbeeld dat dus niet werkt staat op: http://213.84.37.129/javabanner.htm

Misschien is dat duidelijker.

Alvast bedankt.

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
<param name="tekst" value="tekst">
<param name="ltype" value="ltype">
<param name="grootte" value="grootte">
<param name="soort" value="soort">
dingen als "grootte" is toch geen integer waarde? Of is dat tegenwoordig veranderd?

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Je zal zo'n form echt moeten laten verwerken door een server sided taal (hoewel misschien javascript :? )

Anders blijft de waarde van je parameter ALTIJD hetzelfde :)

Verwijderd

Topicstarter
Als je goed kijkt dan convert ik groote met bijvoorbeeld de waarde 12 naar integer.

En waar is zo een javascriptje vandaan te halen??? Ik ben namelijk niet zo goed met javascript.

Verwijderd

Topicstarter
Moet het dan zoiets worden????

function doSubmit(form, actie){

// hier wil ik de waarde van
// het de parameter 'actie' (string)
// toekennen aan een hidden
// variabele in het form met de
// naam 'actie'
....
// en daarna de submit.
form.submit()
}


en hoe haal ik dan deze waarde van javascript in java??

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
www.w3schools.com
Staat wel in hoe je met forms om moet gaan en hoe je text kan veranderen in een pagina met javascript. :)

Wat je wil is dus het form uitlezen en de waardes in de value van de param's stoppen.

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
Op donderdag 30 mei 2002 00:00 schreef SoLiD_DoGG het volgende:
Als je goed kijkt dan convert ik groote met bijvoorbeeld de waarde 12 naar integer.

En waar is zo een javascriptje vandaan te halen??? Ik ben namelijk niet zo goed met javascript.
Dat doe je niet, want als ik iets submit, staat in de code nog steeds die parameter met de waarde "grootte" en dat is geen integer....

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


Verwijderd

Topicstarter
Juist gert Dat is mijn bedoeling.

En die waarde bedoelde in in java en niet in html

Verwijderd

Hmmm misschien is dit niet wat je bedoelt, maar:

je kan toch gewoon functies uit het applet aanroepen vanuit je html? dus als je applet bijvoorbeeld myApplet heet (als je het een naampie geeft is het wat makkelijker), en je maakt een methode changeFont( font, type, size ) in je appletcode (java dus) dan (dit wordt een te lange zin) dan kan je met behulp van de onchange properties van de selectboxen die methode aanroepen.

zoiets *ff uit me hoofd*

<script language="javascript">
function doChange( )
{
/* get the values from the form */
size = document.myForm.fontSize[document.myForm.fontSize.selectedIndex].value;
font = document.myForm.fontType[document.myForm.fontType.selectedIndex].value;
/* etc */
/* then call the function you build in your javacode */
document.myApplet.changeFont( font, type, size );
return;
}
</script>

<form name="myForm">
<select name="fontSize" onchange"doChange( );">
<option value="1">
<option value="2">
<option value="3">
<option value="4">
</select>

<applet name="myApplet" etc...>
</applet>
</form>

dan moet je in je javacode zorgt dat ie na de functie changeFont( ) wel een refresh doet op je applet, oftewel het gebeurt dan on the fly en je hoeft dus niet je form te submitten.

Is zoiets wat je bedoelt?

Verwijderd

Topicstarter
hier heb ik wel wat aan thx
Meerdere oplossingen zijn welkom.

Ik ga ff sleutelen

Verwijderd

Topicstarter
ok hoe zet je de waarde van tekst om in een value???

/* get the values from the form */
tekst = document.myForm.textSize[document.myForm.textSize.selectedIndex].value;


???? id dit misschien een optie????

Verwijderd

Op donderdag 30 mei 2002 01:12 schreef SoLiD_DoGG het volgende:
ok hoe zet je de waarde van tekst om in een value???

/* get the values from the form */
tekst = document.myForm.textSize[document.myForm.textSize.selectedIndex].value;


???? id dit misschien een optie????
De value die je nu in tekst zet is dus een value die je uit een selectbox uit je form haalt. als je hebt:

<select name="font">
<option value="1">Times New Roman
<option value="2">Arial
<option value="3">Font3
<option value="4">Font4
</select>

tekst = document.myForm.font[document.myForm.font.selectedIndex].value;

krijgt de variabele tekst dus een waarde van het geselecteerde font in de selectbox. i.e. als je Arial had geselecteerd krijgt tekst een waarde '2'.

Als je deze dan aan je JAVAfunctie changeFont( .., .., .. ) doorgeeft kan je deze 'terugparsen' naar arial als je dat wilt. Je kan ook in de selectbox ipv nummertje tekst neerzetten bij de value:

<select name="font">
<option value="TNR">Times New Roman
<option value="Arial">Arial
<option value="Font3">Font3
<option value="Font4">Font4
</select>

Als je nu het bovenstaande javaSCRIPT runt (het gequote) dan krijgt de variable tekst dus een value TNR of 'Arial' of 'Font3' op basis van wat er geselecteerd was.

Verwijderd

Op donderdag 30 mei 2002 01:06 schreef SoLiD_DoGG het volgende:
hier heb ik wel wat aan thx
Meerdere oplossingen zijn welkom.

Ik ga ff sleutelen
Ok ik heb een andere oplossing bedacht, al denk ik dat ik de oplossing hierboven mooier vind. Maar zo kan het ook:

Je moet <form method="sumbit" action="javabanner.htm">
in <form method="LINK" action="javabanner.htm"> veranderen.

Nu kan je met javascript de variablen uit je URL uitlezen:
dus deze code
code:
1
2
3
4
5
6
    <applet code="Banner.class" width="390" height="250">
    <param name="tekst" value="tekst">
    <param name="ltype" value="ltype">
    <param name="grootte" value="grootte">
    <param name="soort" value="soort">
    </applet>

vervang je door het volgende
code:
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
    <applet code="Banner.class" width="390" height="250">
    <SCRIPT LANGUAGE="javascript">
    var theleft = 7+window.location.href.indexOf("?tekst");
    var theright = 0+window.location.href.indexOf("&ltype");
    document.write("<param name=\"tekst\" value=\"");
    document.write(window.location.href.substr(theleft,theright-theleft));
    document.write("\">">

    document.write("<param name=\"ltype\" value=\"");
    var theleft = 7+window.location.href.indexOf("&ltype");
    var theright = 0+window.location.href.indexOf("&soort");
    document.write(window.location.href.substr(theleft,theright-theleft));
    document.write("\">");

    document.write("<param name=\"grootte\" value=\"");
    var theleft = 7+window.location.href.indexOf("&soort");
    var theright = 0+window.location.href.indexOf("&Grootte");
    document.write(window.location.href.substr(theleft,theright-theleft));
    document.write("\">");

    document.write("<param name=\"soort\" value=\"");
    var theleft = 9+window.location.href.indexOf("&Grootte");
    var theright = 0+window.location.href.indexOf("&B1");
    document.write(window.location.href.substr(theleft,theright-theleft));
    document.write("\">");
    </SCRIPT> 
    </Applet>

Ik heb het maar half getest, maar volgens mij moet het wel zo ongeveer werken...

O ja je voorbeeld html file heeft nog een </Applet> staan na de </html> een beetje slordig

Verwijderd

dude, ik moet zeggen dat het wel een zeer origineel gevonden oplossing vind! hier zou ik echt in geen jaar opkomen volgens mij :-)

anyway ik ga naar bed, succes ermee ik kijk morgen nog wel even hoe het er mee staat
Pagina: 1