# Postfield



## mdoemli (29. Jun 2005)

Hallo zusammen,

ne kurze frage. Gibt es den postfield Tag unter html auch ? Hab nichts darüber gefunden.
Bekomme hier immer einen Fehler.


```
<anchor><xsl:value-of select="." />
			<go href="http://miramonte.homelinux.net/portal/Operator" method="post">
			<xsl:text disable-output-escaping="yes">&</xsl:text>postfield name="xml" value="http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=1&pid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">&</xsl:text>
			<postfield name="xsl" value="http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl"/>
			<postfield name="type" value="text/html"/>
			</go>
	</anchor>
```

Fehler:


```
FEHLER:  'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The mar
kup in the document following the root element must be well-formed.'
```

Wenn es diesen Tag nicht gib, was wäre ein vergleichbarer Tag?

Gruß,

mdoemli


----------



## Bleiglanz (29. Jun 2005)

in html gibt es kein

anchor
go
postfield

was macht du da eigentlich?


----------



## mdoemli (29. Jun 2005)

Hab bis jetzt nur mit wml gearbeitet.
Ich möchte ein Servlet aufrufen.

Operator transformiert  das Ergebnis von TrackingToolPrintMap (servlet) und trackingtoolprintmap.xls zu einer HTML Datei, sollte es zumindest unter wml hat das immer so funktioniert.


----------



## mdoemli (29. Jun 2005)

Das war mein xsl für wml.


```
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<wml>
<card id="card1" title="Tracking Tool">
	


		
		<xsl:apply-templates/>

	</p>
</card>
</wml>
</xsl:template>

	<xsl:template match="id">
	[b]Map Anzeigen[/b]
		

		Routen ID:

	
			<a href="http://miramonte.homelinux.net/portal/Operator" method="post">
			<xsl:text disable-output-escaping="yes">&</xsl:text>postfield name="xml" value="http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=1&pid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">&</xsl:text>
			<postfield name="xsl" value="http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl"/>
			<postfield name="type" value="text/vnd.wap.wml"/>
			<xsl:value-of select="." /></a>
	
	
	</xsl:template>
	<xsl:template match="bild">
		Koordinaten wurden aus Datenbank gelesen

		[url="http://miramonte.homelinux.net/portal/applets/callapplet.html"]Bild Anzeigen[/url]
	</xsl:template>
	
</xsl:stylesheet>
```

so und da ich dachte das html alles kann was wml kann, ändere ich nur den wml und card Tag und den mime type und fertig.


----------



## Bleiglanz (29. Jun 2005)

dann würde ich erstmal html lernen, wml ist ganz was anderes...


a
form
input
...

BTW ist dein Problem ein anderes, die zweite Zeile
erzeugt ungültiges Markup, das kann auch mit WML nicht funktioniert haben


```
<xsl:text disable-output-escaping="yes">&</xsl:text>
postfield 
name="xml" 
value="...?status=1&pid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">&</xsl:text>
```
das ergibt nonsense

Elemente erzeugt man mit xsl:element und nicht in dem man < und > irgendwie literal hineinwurstelt


----------



## mdoemli (29. Jun 2005)

Vielen Dank.

Aber das funktioniert (das xsl) hat beim & n paar zeichen weggelassen. Hab ja das xsl einfach aus meinem Projekt rauskopiert und das läuft definitiv. Aber ist ja auch egal !!!
Hab mal wieder was neues gelernt, also nochmals DANKE. :toll:


----------



## mdoemli (29. Jun 2005)

Hallo ich nochmal,

hab jetzt mal ein bißchen gelesen und rumprobiert.

Bin aber noch nicht ganz dahinter gekommen.
Also bei dem Tag "form" definiere ich mir ein Formular was ich dann mit post versenden kann.
Innerhalb vom Formular kann ich attribute angeben die mitgesendet werden.

Der "a" Tag besitzt keine Möglichkeit über post was zu versenden.

So jetzt bin ich so weit:


```
<xsl:for-each select="id">
    		<form action="operator" method="post">
    		<xsl:value-of select="."/> //Dort stehen Werte die per klick das Formular auslösen sollen
    			<xsl:text disable-output-escaping="yes">&</xsl:text>input type="hidden" name="xml" value="http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=2&pid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">&</xsl:text>
    			<INPUT TYPE="hidden" NAME="xsl" VALUE="http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl"/>
    			<INPUT TYPE="hidden" NAME="type" VALUE="text/html"/>
    			
    			
    		</form>
  		</xsl:for-each>
```

Mein Problem ist wie kann ich das Formular versenden bzw. auslösen?

Hoffe die Frage ist nicht zu blöd.:bahnhof: 

Gruß,

mdoemli


----------



## Bleiglanz (29. Jun 2005)

input type="submit"

erzeugt einen button zum "Abschicken"


----------



## mdoemli (29. Jun 2005)

Mhh,

geht das nicht anders:

Es soll so aussehen:

123123
234234
2343245546
546435435

=> Stehen IDs untereinander nun kann ich eine anklicken => Formular wird ausgelöst.

Mit Butten ist blöd, da ich ja mitschicke welche ID angeklickt wurde.


----------



## Bleiglanz (29. Jun 2005)

sollen alle 4 mitgeschickt werden?

oder nur einer: der "Auslöser"?

dann mach für jeden eintrag eine eigene <form>

und schreib den Text AUF den button

(input type="submit" value="ICHSTEHEAUFDEMBUTTONDRAUF")

was willst du überhaupt machen? Da du keine HTML Kentnisse hast kann man dir wohl kaum einen Rat geben??


----------



## mdoemli (29. Jun 2005)

Ok,

die Anzahl der IDs ist variable.
Was ich möchte.
Das selbe wie es unter wml funktioniert.

Also:

```
<anchor><xsl:value-of select="." />
			<go href="http://miramonte.homelinux.net/portal/Operator" method="post">
			<xsl:text disable-output-escaping="yes"><</xsl:text>postfield name="xml" value="http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=2&amppid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">></xsl:text>
			<postfield name="xsl" value="http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl"/>
			<postfield name="type" value="text/vnd.wap.wml"/>
			</go>
	</anchor>
```

Der  verschluckt immer zeichen im Code


In anchor werden mir meine IDs Ausgegeben (beliebig viele) wenn ich jetzt auf einen drücke, wird die Klasse Operator aufgerufen.
Operator = Ist ein Servlet zur Transformation von xsl und xml in wml

Als übergabe bekommt es das ergebnis vom Servlet TrackingToolPrintMap(bekommt als übergabeparameter für doget die Nummer der angeklickten id)  das xsl-File trackingtoolprintmap und den 
mime type.

Mehr will ich mit html nicht machen. Wie ich Bilder und so einfüge weiß ich (hoffe ich  :wink: )

Hoffe habs jetzt besser erklärt  

Gruß,

mdoemli


----------



## Bleiglanz (29. Jun 2005)

warum machst du dann nicht normale a hrefs?

für jede id einen?


----------



## mdoemli (29. Jun 2005)

Geht das über post bzw. kann ich da Parameter über Post mitliefern?


----------



## Bleiglanz (29. Jun 2005)

nein, über POST geht das nicht

oder reagiert das servlet etwa nur auf GET??

wenn das so ist, musst du javascript verwenden (man kann nämlich mit einem Hyperlink in HTML nur ein GET auslösen...)

aber dat is mir jez zuviel


----------



## mdoemli (30. Jun 2005)

So dala,

ich mal wieder.
Mein Code sieht jetzt so aus.


```
<form action="http://miramonte.homelinux.net/portal/Operator" method="post">
		<xsl:for-each select="id">

          	
          		
          		<xsl:element name="input">
			        <xsl:attribute name="type">radio</xsl:attribute>
			        <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute>
			    	<xsl:attribute name="name">ids</xsl:attribute>
			    </xsl:element>
			    
          		<xsl:element name="input">
			        <xsl:attribute name="type">hidden</xsl:attribute>
			        <xsl:attribute name="value">http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl</xsl:attribute>
			    	<xsl:attribute name="name">xsl</xsl:attribute>
			    </xsl:element>
			    
			    <xsl:element name="input">
			        <xsl:attribute name="type">hidden</xsl:attribute>
			        <xsl:attribute name="value">text/html</xsl:attribute>
			    	<xsl:attribute name="name">type</xsl:attribute>
			    </xsl:element><xsl:value-of select="."/>
			    
				<xsl:text disable-output-escaping="yes">&</xsl:text>input type="hidden" name="xml" value="http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=2&pid=<xsl:value-of select="."/>"/<xsl:text disable-output-escaping="yes">&</xsl:text>	          		
          		

  		</xsl:for-each>
  			<xsl:element name="input">
			        <xsl:attribute name="type">submit</xsl:attribute>
			        <xsl:attribute name="value">go</xsl:attribute>
			    	<xsl:attribute name="name">ids</xsl:attribute>
			</xsl:element>
	</form>
```

Passt auch alles, bis auf => Wie kann ich überprüfen welcher radio button geklick wurde?


----------



## mdoemli (30. Jun 2005)

Also habs jetzt,

schwere schwere Geburt.
Für alle die vielleicht so was ähnliches brauchen können.


```
<form action="http://miramonte.homelinux.net/portal/Operator" method="post">
		
		<xsl:for-each select="id">
			[b]
				<xsl:element name="input">
					<xsl:attribute name="type">radio</xsl:attribute>
					<xsl:attribute name="name">xml</xsl:attribute>
					<xsl:attribute name="value">http://miramonte.homelinux.net/portal/TrackingToolPrintMap?status=2&pid=<xsl:value-of select="."/></xsl:attribute>
				</xsl:element>
			[/b]
		</xsl:for-each>
          		<xsl:element name="input">
			        <xsl:attribute name="type">hidden</xsl:attribute>
			        <xsl:attribute name="value">http://miramonte.homelinux.net/portal/xsl/trackingtoolprintmap.xsl</xsl:attribute>
			    	<xsl:attribute name="name">xsl</xsl:attribute>
			    </xsl:element>
			    
			    <xsl:element name="input">
			        <xsl:attribute name="type">hidden</xsl:attribute>
			        <xsl:attribute name="value">text/html</xsl:attribute>
			    	<xsl:attribute name="name">type</xsl:attribute>
			    </xsl:element>
		
			<input type="submit" name="go"/>
	</form>
```

Gruß,

mdoemli


----------

