kostenloser Webspace werbefrei: lima-city


Radio Buttons - Verlinkung

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo, :wave:

    JavaScript ist nicht so mein Ding, wäre also nett, wenn mir da einer von Euch bei meinem Problemchen helfen könnte (für Euch ist's sicher nur ne Kleinigkeit). :wink:

    Und zwar möchte ich Besuchern Auswahlmöglichkeiten via Radio-Buttons bieten. Nachdem diese sich für eine Option entschieden und auf den "submit" Button geklickt haben, sollen sie entsprechen ihrer gewählten Option weitergeleitet werden. Sprich: Jede Option hat einen eigenen Link, der geladen werden soll, sobald man den "submit" Button betätigt.

    Das war's schon. Leider habe ich keine Ahnung, wie ich das technisch umsetzen soll. Bitte um Hilfe! :biggrin:


    Gruß,
    webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Sobald submit gedrückt wird führst du eine Js Funktion aus, die schaut, welche Option ausgeführt wurde, und je nachdem leitest du zu dem Link weiter.

    Wenns nicht so dein Ding ist, versuchs doch mal, und wenn du nicht weiter kommst, fragst du nochmal nach. Weil ja, ist echt kein Ding für mich. Aber wär doch schön, wenn dus selbst auch kannst. Und das lernst du nicht, wenn ichs dir einfach rein kopiere.

    Beitrag zuletzt geändert: 19.2.2014 18:28:25 von c143
  4. Hallo!
    Ich bin nicht der Meinung, dass man das Problem mit Javascript lösen sollte, weil es ja auch mit PHP geht, was oft zuverlssiger ist.

    Hier mein Beispiel-Code:
    HTML
    <input type="radio" name="radio" value="radio1" checked>1
    <input type="radio" name="radio" value="radio2">2

    PHP
    if(radio==radio1) {
    header("Location: andereseite1.html");
    exit;
    }
    else if(radio==radio2) {
    header("Location: andereseite2.html");
    exit;
    }

    Und halt so weiter...

    Ich hoffe, ich konnte helfen!

    MfG. Simon D.

    EDIT: OK, "name"-tag geändert...

    Beitrag zuletzt geändert: 19.2.2014 19:38:37 von simon-d
  5. simon-d schrieb:
    Ich bin nicht der Meinung, dass man das Problem mit Javascript lösen sollte, weil es ja auch mit PHP geht, was oft zuverlssiger ist.

    Was soll da bitteschön zuverlässiger sein? Für solche Sachen sollte man definitiv JavaScript benutzen. Und da eh schon Code geposted wurde:

    function selectedRadio(name){
        var radios = document.getElementsByName(name);
        for(var i = 0; i < radios.length; i++){
            if(radios[i].checked){
            	selectedValue = radios[i].value;
            	window.location = selectedValue+".html";
            	//Der Pfad ist die value des radios und am Ende .html. Kannst du auf deine Dateien anpassen.
            }
        }
    }

    simon-d schrieb:
    Hier mein Beispiel-Code:
    HTML
    <input type="radio" name="radio1" value="radio1" checked>1
    <input type="radio" name="radio2" value="radio2">2


    Der Name sollte immer gleich sein, z.B. 'Links'. Und sobald submit gedrückt wird rufst du die Funktion auf
    selectedRadio('Links');


    Bei Fragen bitte fragen :)

    Beitrag zuletzt geändert: 19.2.2014 19:14:26 von c143
  6. c143 schrieb:
    Was soll da bitteschön zuverlässiger sein? Für solche Sachen sollte man definitiv JavaScript benutzen. Und da eh schon Code geposted wurde

    Was für eine blöde Frage.
    Es soll Menschen geben (mich eingeschlossen), die haben JavaScript Standardmäßig deaktiviert und das aus gutem Grund.
    Denn JS wird Clientside ausgeführt und ist daher immer unzuverlässiger als Serverside ausgeführter Code.

    Beitrag zuletzt geändert: 19.2.2014 19:21:03 von ra1n
  7. Es geht um Zuverlässigkeit. Wenn man sich darauf verlassen will -> eingeschalten, wenn man sich nicht darauf verlassen will -> ausgeschalten. Aber wenn man sich darauf verlässt, funktioniert es auch, deshalb ist es zuverlässig. Oder wie willst du dieses Wort definieren? Es ist die Entscheidung des Benutzers, das hat nichts mit Verlass zu tun.

    Klar, manche haben es deaktiviert, aber der Threadersteller hat eindeutig geschrieben er kann JavaScript nicht so gut, deshalb erwartet er auch eine Lösung mit JS. Entweder man hält die ganze Webseite JS frei, oder man löst solche Sachen besser so.

    Beitrag zuletzt geändert: 19.2.2014 19:31:33 von c143
  8. Hallo!
    c143 schrieb:
    Es geht um Zuverlässigkeit. Wenn man sich darauf verlassen will -> eingeschalten, wenn man sich nicht darauf verlassen will -> ausgeschalten. Aber wenn man sich darauf verlässt, funktioniert es auch, deshalb ist es zuverlässig. Oder wie willst du dieses Wort definieren? Es ist die Entscheidung des Benutzers, das hat nichts mit Verlass zu tun.

    Klar, manche haben es deaktiviert, aber der Threadersteller hat eindeutig geschrieben er kann JavaScript nicht so gut, deshalb erwartet er auch eine Lösung mit JS. Entweder man hält die ganze Webseite JS frei, oder man löst solche Sachen besser so.

    Ich verstehe ja schon, was du meinst, doch (du wirst es nicht glauben ;D) ich wollte nur zur Lösung des Problems beitragen und habe deshalb vorgeschlagen, PHP zu nutzen, weil man sich ja darauf in jedem Fall verlassen kann und dieses auch nicht vom User manipuliert werden kann, da es ja, wie von ra1n beschrieben, serverseitig ist.
    Außerdem: Wenn ich Javascript deaktiviert habe, habe ich das, um Werbepopups und andere nervige Späßchen zu blocken und nicht, um eine Seite, für die ich mir zuvor die Arbeit gemacht habe, einen Radio-Button zu drücken, nicht anzeigen zu lassen. So ist meine Denke, ich weiß nicht, ob du es auch so siehst, (offensichtlich nicht) und ich würde gerne wissen, weshalb man dafür
    c143 schrieb:
    definitiv JavaScript benutzen

    sollte... Wenn's doch auch mit PHP geht... :S

    MfG. Simon D.
  9. Gegen deine Lösung habe ich eigentlich überhaupt nichts, sry, falls das so rüber kam. Wie du schon sagtest, du wolltest zur Lösung beitragen, das schätze ich und der Threaderteller sicher auch. Ich verstehe nur ra1n nicht, warum er mir Beleidungen an den Kopf wirft und meinen Beitrag negativ bewertet. Auch wenn ich total falsch liegen würde, ich mach mir auch die Mühe und ich persönlich würde da nie einfach sowas hin klatschen. Seine Meinung kann er ja sagen.

    Aber darum geht es hier ja nicht, soll er eben^^

    Es gibt Gründe, warum so ziemlich jede Seite Javascript benutzt. Zum einen, weils dynamischer ist, vieles kannst du in PHP so nicht lösen. Oder die Seite lädt einfach die ganze Zeit neu. Aber vieles auch nicht nur mit JavaScript. Man braucht beides, aber ich benutze wos nur geht JS. Zum einen belaste ich den Server nicht unnötig und zum anderen ist meine Seite dynamisch. JavaScript ist eigentlich eine grosse Sicherheitslücke, da gebe ich ra1n recht, aber jede moderne Seite benutzt es, und ich könnt auch nicht mehr ohne.

    Zum einen kann ich ra1n's Meinung verstehen, wenn ers deaktivert haben will, seine Sache. Bei kleinen Webseiten mit wenigen Funktionen ist das auch eine Überlegung Wert, aber sobalds mal grösser wird, wünsch ich viel Spass alles in PHP zu schreiben. Das ist dann einfach nicht mehr schön.

    Ich kann noch keine Bewertungen vergeben, aber dir mal ein imaginäres +1, Simon. Der Threadersteller hat ja jetzt beide Lösungen und kann selbst entscheiden, was er für die bessere Lösung hält. Bin nur davon ausgegangen, dass ers in JS will, weil er ja schliesslich danach gefragt hat.

    Beitrag zuletzt geändert: 19.2.2014 19:57:29 von c143
  10. Ok, danke, dass du das geklärt hast *handshake*

    MfG. Simon D.
  11. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo zusammen, :wave:

    hat sich ja Einiges getan hier seit meinem letzten Besuch. :biggrin:

    Danke für Eure Vorschläge, aber ich habe das Gefühl, dass ihr mich falsch verstanden habt - oder ich stehe mächtig auf der Leitung. Der Link soll nicht sofort geöffnet werden, wenn man einen Radio-Button anwählt, sondern man soll erst den entsprechenden Radio-Button auswählen und dann auf eine Art von Absende-Button drücken.Und erst dann soll sich auch der entsprechende Link öffnen - nicht bereits beim Anwählen!


    Gruß,
    webdesignerin :angel:
  12. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    webdesignerin schrieb:
    Hallo zusammen, :wave:

    hat sich ja Einiges getan hier seit meinem letzten Besuch. :biggrin:

    Danke für Eure Vorschläge, aber ich habe das Gefühl, dass ihr mich falsch verstanden habt - oder ich stehe mächtig auf der Leitung. Der Link soll nicht sofort geöffnet werden, wenn man einen Radio-Button anwählt, sondern man soll erst den entsprechenden Radio-Button auswählen und dann auf eine Art von Absende-Button drücken.Und erst dann soll sich auch der entsprechende Link öffnen - nicht bereits beim Anwählen!


    Gruß,
    webdesignerin :angel:


    Das wäre demnach der dritte Beitrag von oben (ichmagkeinezahlen), weil zuverlässiger.

    Beitrag zuletzt geändert: 19.2.2014 23:45:29 von sonok
  13. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo, :wave:

    Danke sonok, ich werd's später mal mit PHP probieren. Jetzt habe ich das erstmal so gelöst:

    Diesen Code habe ich zwischen <head> und </head> eingefügt:

    <script type="text/javascript">// <![CDATA[
    function whichsite(form){
    	var sites = form.elements.site, i = sites.length;
    	while (--i > -1){
    		if(sites[i].checked){
    			return sites[i].value;
    		}
    	}
    }
    // ]]></script>


    Dann noch diesen Code zwischen <body> und </body>:

    <form action="#" onsubmit="window.open(whichsite(this), '_self'); return false;">
    <span style="font-weight: bold;">Bitte wähle:</span>
    <label><input type="radio" name="site" value="http://www.meine-seite/unterseite-1.html" />Unterseite 1</label>
    <label><input type="radio" name="site" value="http://www.meine-seite/unterseite-2.html" />Unterseite 2</label>
    <label><input type="radio" name="site" value=""http://www.meine-seite/unterseite-3.html" />Unterseite 3</label>
    <p><input type="submit" value="Gehe zu" /></p>
    </form>


    Danke dennoch für Eure Hilfe! :thumb:

    Gruß,
    webdesignerin :angel:

    P.S.: Problem gelöst, Thread kann geschlossen werden. :smile:
  14. Zu meiner Lösung: Ich habe ja geschrieben, führ meine Funktion aus, sobald der Button geklickt wird. Müsstest du mal das Stichwort 'EventListener' googeln.
  15. c143 schrieb:
    Zum einen kann ich ra1n's Meinung verstehen, wenn ers deaktivert haben will, seine Sache. Bei kleinen Webseiten mit wenigen Funktionen ist das auch eine Überlegung Wert, aber sobalds mal grösser wird, wünsch ich viel Spass alles in PHP zu schreiben. Das ist dann einfach nicht mehr schön.

    *hüstl*
    Das ist ein Trugschluß. Bei kleineren Webseiten kann man nach Belieben mit Javascript basteln und auf Barrierefreiheit, Suchmaschinenfreundlichkei etc. keine Rücksicht nehmen. Es betrifft ja nur wenige User. Eine "große" Seite wird, sofern die Entwickler kompetent sind, Fallbacklösungen entwickeln, die das Bedienen der Seite auch ohne JS möglich machen.
    Gerade bei der Fragestellung in diesem Thread ist die Verwendung von JS zur Lösung des Problems nicht sinnvoll. Es bringt keinen Mehrwert, sondern schafft bei Usern eventuell sogar Probleme.
  16. Das sind dann Firmen, die genug Leute für so was haben. Aber auch die haben oft keine Fallback Lösung. Ich rede hier eher von grösseren Projekten einer Privatperson so wie wir hier. Entweder man verzichtet grundsätzlich auf JS, was ich ja geschrieben habe, kann er gerne machen, oder er macht das besser auch mit JavaScript.

    Es geht hier um die Situation, und diese ist, dass der Threadersteller erstens mal nach JS gefragt hat, und seine momentane Webseite auf Lima-City auch mit JS funktioniert.

    Das ist für mich die Ausgangslage und ich kann mir nicht vorstellen, dass er alles in JS und PHP machen will, also entweder oder.

    Der Threadersteller hat ja jetzt beide Lösungen, also passt das jetzt.

    Beitrag zuletzt geändert: 20.2.2014 16:56:12 von c143
  17. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    <?php
    	//	daten auslesen
    	$formular = $_POST["radio"];
    	//	das folgende kann man auch mittels "switch" - zeugs lösen
    	if ($formular == 'radio1') {
    		header("Location: http://www.example1.com/");		
    	}
    	elseif ($formular == 'radio2') {
    		header("Location: http://www.example2.com/");
    	}
    ?>


    Also, an sich sollte das der Code sein, um die Weiterletung zu realisieren.

    Keine Ahnung, warum da "genug Leute" in einer Firma für den Code gebraucht werden oder warum die Webseiten von Firmen eine höhere Erreichbarkeit im Sinne der Funktionalität haben sollen als die Webseiten von Privatanwendern.

    Mag sein, das die Threaderstellerin (ist allen Anzeichen nach kein "er" :king:) nach js gefragt hat, aber sinnvoller (für die Funktionalität der Webseite) ist die php-Lösung, da sie nicht vom Besucher auf der Browserseite deaktiviert werden kann. Daher ist es also vollkommen legitim, wenn man sowohl die js als auch die php - Ansätze hier schreibt; aber es ist nicht doll zu sagen, js wäre die "sinnvollere" oder wasauchimmer, da das einfach nicht stimmt ist. Es ist vielmehr sinnvoll, js zu gleich von Anfang an zu umgehen, anstatt später die Gründe eine Nichtfunktion zu suchen und dann langwierig zu korrigieren.
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!