Ich hab den neuen <button> Tag genutzt und stelle nun fest, das der IE diesen ziemlich dumm interpretiert...
Hier ein TestSkript:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import cgitb;cgitb.enable()
import os, cgi
Head = """<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>CGI test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head><body>"""
Form = """
<form name="login" method="post" action="?">
<input name="text_feld" type="text" value="Werte im Text-Feld"><br />
<input type="submit" name="input_submit" value="Werte des alten input submit">
<button type="submit" name="button_submit" value="Wert des Buttons">Button Beschriftung</button>
</form>
"""
class test:
def __init__(self):
self.data = {}
self.getCGIdata()
print "<h2>CGI Daten:</h2>"
print "<pre>"
for k,v in self.data.iteritems():
print "%s - %s" % (k,v)
print "</pre>"
def getCGIdata(self):
FieldStorageData = cgi.FieldStorage()
# POST Daten auswerten
for i in FieldStorageData.keys():
self.data[i] = FieldStorageData.getvalue(i)
if os.environ.has_key('QUERY_STRING'):
# GET URL-Parameter parsen
for item in os.environ['QUERY_STRING'].split("&"):
item = item.split("=",1)
if len(item)==1:
if item[0]!="":
self.data[ item[0] ] = ""
else:
self.data[ item[0] ] = item[1]
if __name__ == "__main__" :
print "Content-type: text/html; charset=utf-8\r\n"
print Head
test()
print "<hr>"
print Form
print "<hr>"
print "<pre>%s</pre>" % cgi.escape(Form)
print "</body></html>"
Der IE schickt, wenn man den alten <input> Button benutzt das zurück:
Wenn man den neueren <button> benutzt, das:button_submit - Button Beschriftung
text_feld - Werte im Text-Feld
input_submit - Werte des alten input submit
Ich hätte allerdings eigentlich erwartet, das es genauso wie Mozilla reagiert:button_submit - Button Beschriftung
text_feld - Werte im Text-Feld
<input>:
<button>:text_feld - Werte im Text-Feld
input_submit - Werte des alten input submit
button_submit - Wert des Buttons
text_feld - Werte im Text-Feld
Nun darf ich in PyLucid alle Button-Varianten durch <input> ersetzten und mit hidden-Feldern die value-Werte übergeben, die man eigentlich schön beim <button> festlegen kann


Deswegen ist PyLucid im momentan mit dem IE nicht zu benutzen...
Das es Unterschiede bei so elementaren Dingen gibt!