button value übergabe im IE

  • Huhu.

    So, ich hab hier jetzt eine Seite gebastelt - nu merz ich "kleine" Bugs aus.

    IE8 und FF übergeben den value von einem <button> richtig. Also <button name="test" value="test_submit" type="submit">Hier testen</button>, das natürlich in nem Form mit method="post". Da bekomm ich auch bei echo $_POST['test']; auch so wies sein soll test_submit raus. Nu...

    Der IE7 übergibt aber nicht den value - sondern das was zwischen den Tags steht ~.~. Kennst jemand einen guten workaround oder muss ich jetzt bei jedem button den ich drin hab ein extra form mit hiddeninputs reinknallen nur um das IE tauglich zu machen?

  • input tag nimmt aber nur die beschreibung vom value entgegen, text der zwischen den tags selbst ist, ist nicht anklickbar - also keine alternative. Es geht ja darum ein bestimmten wert (z.B. ID für die Datenbank) zu übergeben und per button geht sowas am schnellsten. Nur funktionierts eben nicht richtig im IE :( und natürlich soll das ganze ohne JS laufen. Eine ID als Beschreibung für ein Button wäre ja nicht gerade schön.

    Eine Alternative hab ich ja, die ist nur umständlich, werd ich wohl machen müssen fals keiner eine andere Lösung kennt.

  • Wenn Du eine ID übergeben willst verwende dafür doch einfach ein hidden-input-Feld.

    *sigh*

    Da es eine dynamisch erstellte tabelle ist, müsste ich jedem input eine _id verpassen und dann erstmal rausfrimmeln welcher submit benutzt wurde - was mir schonmal nicht gefällt. Sprich jeder submit müsste auch noch eine id im namen haben.

    Die Lösung würde dann so ablaufen müssen (soweit ich mir das jetzt vorstellen kann)

    tabelle mit
    submit_n
    hidden_id_n

    verarbeitung:
    - datenbank abfrage, mit einer schleife + counter wie viele einträge denn überhaupt möglich sind, wobei vllt gibts da ja sogar eine direkte wertabfrage kA. <- ist eh schon unflexibel da man die datenbank dafür abfragen muss
    - schleife die rausfindet welcher submit nun benutzt wurde

    /* edit
    ok, anderer ansatz wäre wohl noch gar nicht so schlimm, werd ich wohl beim nächsten mal machen wenn keiner was besseres weiß.
    leere $_POST einträgen rausfiltern, dann erst die hidden_n ID rausnehmen.
    */

    dieser ansatz gefällt mir nicht besonders, auch wenn ich mir 100% sicher bin, dass dieser öfters verwendet wird bei solchen problemen... Oder zumindest wurde ^^"

    Ich hab das nun so gelöst, dass jeder button ein eigenen form hat mit hidden inputs... gefällt mir aber auch nicht so sehr, deshalb wäre eine alternative für die zukunft toll - aber vllt gibt es ja keine...

    /P.S. grund dafür: hätte ich für die id ein hiddeninput allein gemacht, hätt ich am ende xx-hiddeninputs - aber da gibt es keine zuordnung mehr zum submit - könnt ich dort ein value übergeben ohne dass der angezeigt wird, könnt ich wenigstens die richtige ID rauslesen ~ nix is. Per JS würde das natürlich gehen, indem man beim aktivieren eines buttons erst ein wert setzt und es erst dann verschickt... Aber es soll eben ohne sein.

    3 Mal editiert, zuletzt von Grevas (8. September 2009 um 22:18)