[HTML] submit Button als Link

tempo.1

Cadet 4th Year
Registriert
Feb. 2007
Beiträge
93
Servus

So, irgendwie steh ich heute abend aufm Schlauch.
Kann ich irgendwie einen Submit Button als normalen Link verwenden?
Es sieht einfach schöner aus, wenn "Senden", "Löschen", "Abbrechen" gleich aussehen;
also mit dem Firefox geht das:
HTML:
<a style="text-decoration:none" href="index.php"><input type="submit" value="Abbrechen"></a>
Der IE zeigt jedoch keine Reaktion.
Zweiter versuch war:
HTML:
<input type="submit" value="Abbrechen" href="index.php">
In dem Fall reagiert sowohl der IE als auch der Firefox nich. War ein Versuch :)
Das Problem müsste jetzt klar sein. Mit JavaScript gehts, das würde ich aber gerne vermeiden.
und eine get oder post methode möchte ich ebenfalls nicht verwenden.
Gibt es irgendeinen einfachen Weg das zu realisieren?

Gruß
 
Du kannst einfach den Button in Link-Tags packen:
Code:
<a style="text-decoration:none" href="index.php"><input type="submit" value="Abbrechen" /></a>

Ich habe, um das Unterstrichene wegzubekommen, im Link-Tag noch 'text-decoration:none' als style gesetzt.

mfg

/edit: sorry, nicht im IE getestet.. der regt mich immer mehr auf :grr:
 
Zuletzt bearbeitet:
Servus,

Danke für die schnellen Antworten,

@msycho

Nun wie gesagt würd ich das JavaScript auch gerne weglassen.
Wenns denn aber doch sein muss, tät ich den Event Handler OnKlick verwenden:
HTML:
<input type="button" value="Neuer Eintrag" onClick="location.href='index.php'">
Wenn jemand jedoch Java Script deaktiviert, dann tut der Link gar nix. und dass würd ich gern vermeiden.

Selbes Problem @Backslash

Mit dem Firefox geht das auch Prima, der Internet Explorer tut aber in dem Fall nichts. Leider muss man den auch noch berücksichtigen, weil eine ganze Menge User heute immernoch den Internet Explorer nutzen.

Gruß
 
Die einfachste Form wäre doch, das ganze als Form zu behandeln, nur eben, dass keine Werte übergeben werden.
HTML:
<form action="ziel.htm" target="_self">
<input type="submit" value="Send">
</form>

Das wäre meine Lösung.

Habs im FF und Internet Explodierer getestet und das tut es.
 
Wieso machst Du nicht dann über CSS?
Man kann 3 Links machen, die derselben CSS-ID benutzen und schon hat man keine Probleme mit IE und FF :) und trotzdem hat man den Aussehen, als ob sie Button wäre.

Code:
<html>
[...]
<head>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<body>
[...]
<a href="blub.php" id="formbutton">Submit</a>
<a href="blub.php" id="formbutton">Reset</a>
[...]
</body>

in css.css wäre dann
Code:
.formbutton
        {
        font-family: Verdana;
        font-size: 10px;
        color: #1F1F1F;
        border-style : outset;
        border-bottom-width : 2px;
        border-top-width : 2px;
        border-left-width : 2px;
        border-right-width : 2px;
        border-top-color : #EFEFEF;
        border-left-color : #EFEFEF;
        border-right-color : #CFCFCF;
        border-bottom-color : #CFCFCF;
        background-color: #EFEFEF;
        border-collapse: collapse;
        }
 
Zuletzt bearbeitet:
Servus,

Mit css hatt ich's damals auch mal versucht:
Code:
a {display: block; padding: 5px; font-weight: bold;}
a:link {text-decoration:none; border: 2px solid white; border-left-color: black; border-top-color: black}
a:hover {text-decoration:none; border: 2px solid black; border-left-color: white; border-top-color: white}
Jedoch stellt das ein viereckigen Kasten dar, der einen mortzmäßigen "3D Effeckt" hat :)
Momentan nutze ich Vista und das zeigt einen Button mit abgerundeten Ecken und einer von unten kommenden blauen Beleuchtung, wenn man drüber fährt. Optisch macht das etwas mehr her.

@bassti

Soweit, so gehts. Aber, so nicht:
HTML:
<form action="ziel.php?var1=test" target="_self">
<input type="submit" value="Send">
</form>
dann gibts in der Browseradresszeile das: "http://www.homepage.de/ziel.php?", ohne die var1.
So, um jetzt eine Variable zu übergeben brauche ich "method" und ein weiteres Textfeld, das unsichtbar sein sollte:
HTML:
<form action="index.php" method="get">
<input name="var1" type="text" style="position:fixed; top:10000px; left:10000px; width:0px; height:0px; visibility:hidden" value="test">
<input type="submit" value="Submit">
</form>
So geht's ja dann auch, aber was einfacheres gibt's da nich?
"index.php?src=$src&seite=$BackSeite&dir=$dir&key=$auswahl&format=$format&layout=$layout"
In dem Fall bräucht ich ja schon 6 Textfelder, das macht den Code doch ungewollt unübersichtlich.


Gruß

Edit:
Und die method="post" täte ich ebenfalls gerne vermeiden. Wenn man nach dem anklicken auf "zurück" geht, bringt der Browser eine Meldung.
Als (unerfahrener) User würd ich mich Fragen:
"Was schickt der Programmierer denn als Post Variable mit? Hmm, irgendwie vertrau ich dem nich mehr so ganz. Auf die Seite geh ich nicht mehr."

Gruß
 
Zuletzt bearbeitet: (Da is mir noch was eingefallen)
Mojen
Du musst doch keine unsichtbaren Textfelder erstellen wenn es den Type hidden gibt. ^^
HTML:
<input type="hidden" name="var1" value="test" />

MfG
 
Servus,

den type kannt ich jetzt noch nicht.
aber sicher ist sicher:
HTML:
<input name="var1" value="test" type="hidden" style="position:fixed; top:-10000px; left:-10000px; width:0px; height:0px; visibility:hidden">
:)
Hier das Ergebniss: Gästebuchdemo
wer lust hat, der kanns auch haben: Gästebuch.zip

Gruß
 
Momentan nutze ich Vista und das zeigt einen Button mit abgerundeten Ecken und einer von unten kommenden blauen Beleuchtung, wenn man drüber fährt. Optisch macht das etwas mehr her.
Das bringt dir aber überhaupt nichts, da diese bei jedem User total anders aussehen können. Nicht jeder benutzt Vista, nicht jeder benutzt das Standarddesign bei XP, nicht jeder benutzt den IE ...

Wenn dir die Buttons so gefallen, mach jeweils ein Bild aus denen und binde sie dann mit dem A Tag ein. ;)

Dein Gästebuch ist im übrigen alles andere als sicher und sauber ... man kann es z.B. nur mit Leerzeichen füllen und es wird abgeschickt. ;)
 
Servus,

das is mir klar. Vista war ja nur ein Bsp. Aber wenn jemand ein Betriebssystem benutzt und überall dieses "Betriebssystem-Design" hat, freuts denjenigen vielleicht, das er auf der Homepage das selbe Design antrifft, dacht ich.
Dein Gästebuch ist im übrigen alles andere als sicher und sauber ... man kann es z.B. nur mit Leerzeichen füllen und es wird abgeschickt.
So wirklich der Guru in Sachen Homepageprogramierung bin ich ja nicht. Die neusen Einträge haben beispielsweise die alten überschrieben und so wurde immer nur ein Eintrag angezeigt. Hab das ding für jemand geschrieben und benutze selbst kein Gästebuch (ob er's einsetzt ist momentan auch noch fraglich).
Jetzt bin ich natürlich für sicherheits und saubermach-Tips dankbar. Vielleicht wird mal ein Guru aus mir :king:

Gruß
 
Du solltest erstmal einfach alle Felder, die übertragen werden, mit trim() behandeln - dadurch werden erstmal unsinnige Leerzeichen entfernt.

Dann solltest du diese überprüfen, ob sie leer sind oder ob Müll eingetragen wurde. ;)
 
Zurück
Oben