5. Juli 200520 j Gerade eben ist mir ein sonderliches Verhalten des IEs sauer aufgestoßen. Vielleicht kanns mir jemand erklären oder sagen, wie ich's umgehen kann. Auf einer Seite habe ich ein Formular, mit dem sich ein Einträge für's Routing in einer Liste modifizieren lassen. Für jede Aktion (Add, Modify, Delete, Up, Down, Save, Reset) habe ich einen Submit-Button angelegt. Z.B. für Add: <button type="submit" name="add" value="Add">Add</button> Wie gesagt, es gibt 7 Stück von den Dingern. Wenn ich einen Drücke, dann wird das Formular submitted und die Werte der Formularfelder per Post übertragen. In meinem CGI (C Programm) sammle ich die Werte ein und prüfe, welcher Button gedrückt wurde. Laut gängiger Literatur ist das auch ein probater Weg. Während das aber im Firefox prima klappt (dort kommt nur für den gedrückten Button ein Wert an) verweigert der IE die zusammenarbeit (dort kommen alle Buttons an, sowohl mit Name als auch mit Wert). Ich weiß zwar, dass ich das Problem umgehen könnte, indem ich aus den Submit-Buttons eine Click-Buttons machen kann, die jeweils ein hidden field füllen und anschließend das Formular submitten, so dass ich im CGI das hidden field auswerten könnte. Aber viel lieber wüsste ich, warum sich der IE so seltsam verhält. Muss für den IE noch irgendwo ein Flag im Formular gesetzt werden oder sowas? Besten Dank im Voraus Headache
6. Juli 200520 j versuche nicht zu verstehen warum manche Dinge im IE nicht richtig funktionieren. Das ist als würde man Fragen warum ein Rotes Auto Rot ist, na weils irgendwer angemalt hat und irgendwem die Farbe gefällt. Es gibt viele Dinge die da nicht richtig funktionieren.... Im zweifelsfall sind Radiobuttons die beste alternative, denke ich.
6. Juli 200520 j Hi, also ich habe eigentlich viele Seiten in denen ich Formulare mit mehreren Submit Buttons habe, und dort funktioniert das auch mit dem IE... Wie sieht denn dein Formular aus? Gruß, Markus
6. Juli 200520 j ich kann mich nur kills anschliessen, da muss was faul an deinem formular sein, hab das schon 100mal auf die von dir beschriebe art und weise gemacht... poste mal deinen code gruss
6. Juli 200520 j Dachte mir schon, dass es wohl an meinem Code liegt. Der sieht (auszugsweise) wie folgt aus: <form action="/cgi-bin/mcb.cgi" onsubmit="return CheckForm();" method="post"> <input type="hidden" name="page" value="vpn_upscript" /> <input type="hidden" name="vpn_route_selected" value="" /> <input type="hidden" name="leaving_by_submit" value="" /> <input type="hidden" name="reloaded" value="" /> <input type="hidden" name="changed" value="" /> <table border="0" width="100%" cellspacing="0"> <tr class="grau"> <td>Destination:</td><td><input type="text" name="vpn_route_dest" value="" /></td> </tr> <tr> <td>Netmask:</td><td><input type="text" name="vpn_route_mask" value="" /></td> </tr> </table> <table border="0" width="100%" cellspacing="0"> <tr class="grau"> <td> <select name="vpn_routes" size="20" onChange="Go(this.form.vpn_routes.options[this.form.vpn_routes.options.selectedIndex].value)"> <option value="10.140.0.0#255.255.0.0">Route destination: 10.140.0.0 netmask: 255.255.0.0</option> <option value="10.150.0.0#255.255.0.0">Route destination: 10.150.0.0 netmask: 255.255.0.0</option> </select> </td> <td> <table border="0" width="100%" cellspacing="0"> <tr> <td><button type="submit" name="add" value="Add">Add</button></td> </tr> <tr> <td><button type="submit" name="modify" value="Modify">Modify</button></td> </tr> <tr> <td><button type="submit" name="delete" value="Delete">Delete</button></td> </tr> <tr> <td><button type="submit" name="up" value="Up">Up</button></td> </tr> <tr> <td><button type="submit" name="down" value="Down">Down</button></td> </tr> </table> </td> </tr> </table> <table border="0" width="100%" cellspacing="0"> <tr> <td style="text-align:center"><button type="submit" name="save" value="Save">Save</button></td> <td style="text-align:center"><button type="submit" name="reset" value="Reset">Reset</button></td> </tr> </table> </form> Die Funktion CheckForm() setzt nur ein Flag in einem hidden field und sieht wie folgt aus: function CheckForm () { document.getElementsByName ( "leaving_by_submit" ) [ 0 ].value = "true"; return true; }; Die Funktion Go() sorgt dafür, dass beim Wechseln der Selektion die Destination IP sowie die Netmask in die Felder vpn_route_dest und vpn_route_mask geschrieben wird: function Go ( x ) { var Input = x; var Parts = Input.split ( "#" ); var Destination = Parts [ 0 ]; var Netmask = Parts [ 1 ]; document.getElementsByName ( "vpn_route_dest" ) [ 0 ].value = Destination; document.getElementsByName ( "vpn_route_mask" ) [ 0 ].value = Netmask; document.getElementsByName ( "vpn_route_selected" ) [ 0 ].value = Input; }; Gruß, Headache
6. Juli 200520 j Ein Button muss anstatt <button type="submit" name="up" value="Up"> so heissen <input type="submit" name="up" value="Up"> Das gilt natürlich für alle Buttons... Gruß, Markus
6. Juli 200520 j Ein Button muss anstatt [...] so heissenMuss nicht zwangsläufig. Es gibt das button Element schließlich nicht umsonst
6. Juli 200520 j Muss nicht zwangsläufig. Es gibt das button Element schließlich nicht umsonst Aber um sein Problem zu lösen....
6. Juli 200520 j Aber um sein Problem zu lösen.... Kaum zu glauben, aber das war tatsächlich das Problem. Da wäre ich nie selbst drauf gekommen. Ich bedanke mich recht herzlich. Gruß Headache
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.