Ergebnis 1 bis 22 von 22

Thema: <button> statt input

  1. #1
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard <button> statt input

    Guten Morgen,

    ich würde gerne bei einigen Buttons <button> statt <input> verwenden.
    Wenn ich allerdings <button> nutze, kann ich nichts mehr in den Warenkorb legen.

    <button> sieht nun so aus:

    HTML-Code:
    <button type="submit" name="<?php echo $name; ?>" class="btn btn-5 btn-5b icon-cart <?php echo $name; ?>"><span><?php echo $button['label']; ?></span></button>
    Hier nochmal zur Verdeutlichung: http://gamerianer.de/gameserver/mine...er-mieten.html

    Woran kann das liegen ?
    Geändert von geheimgirl (03.01.2014 um 08:34 Uhr)

  2. #2
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nach meinem Wissen löst ein
    HTML-Code:
    button
    kein absenden des Formulars aus. Daher musst du eine Event schicken.

    HTML-Code:
    <button type="submit" name="<?php echo $name; ?>" class="btn btn-5 btn-5b icon-cart <?php echo $name; ?>" onclick="document.<?php echo $formname; ?>.submit()"><span><?php echo $button['label']; ?></span></button>
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  3. #3
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Nach meinem Wissen löst ein
    HTML-Code:
    button
    kein absenden des Formulars aus. Daher musst du eine Event schicken.

    HTML-Code:
    <button type="submit" name="<?php echo $name; ?>" class="btn btn-5 btn-5b icon-cart <?php echo $name; ?>" onclick="document.<?php echo $formname; ?>.submit()"><span><?php echo $button['label']; ?></span></button>
    Ok verstehe, wie kann ich denn den formnamen abfragen ?
    Denn echo $formname gibt ja nichts aus, da in der Variabel nichts drin ist.

    Auch wenn ich testweise einmal den formnamen eingebe also iso1983711983 ( onclick="document.iso1983711983.submit()" ) passiert nichts.

    EDIT: Habe das gerade auf stack gefunden

    HTML-Code:
    <button onclick="window.location.href='/page2'">Continue</button>
    allerdings klappt das testweise auch nicht mit
    HTML-Code:
    onclick="window.location.href='gameserver/minecraft-gameserver-mieten.html'"
    Geändert von geheimgirl (03.01.2014 um 10:58 Uhr)

  4. #4
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ändert sich der Name nicht dynamisch? Versuch mal ob es $this->formId gibt.

    Gesendet von meinem Nexus 7 mit Tapatalk
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  5. #5
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Ändert sich der Name nicht dynamisch? Versuch mal ob es $this->formId gibt.

    Gesendet von meinem Nexus 7 mit Tapatalk

    Der ändert sich dynamisch ja, war auch nur zu testzwecken.

    $this->formId gibt es, allerdings funktioniert es auch nicht mit

    Code:
    onclick="document.<?php echo $this->formId ; ?>.submit()"
    Der Button im html sieht dann so aus:
    HTML-Code:
    onclick="document.fmd7_product_3.submit()"

  6. #6
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    sorry, anscheinend ist der name im Template dynamisch, siehe https://github.com/isotope/core/blob...fault.html5#L1

    Daher musst du den Namen vorher in eine Variable legen und dann an den beiden Stellen ausgeben.
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  7. #7
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    sorry, anscheinend ist der name im Template dynamisch, siehe https://github.com/isotope/core/blob...fault.html5#L1

    Daher musst du den Namen vorher in eine Variable legen und dann an den beiden Stellen ausgeben.
    Ja der Name ist dynamisch, aber der wird dann ja auch dynmaisch mit <?php echo $this->formId ; ?> ausgegeben, oder was meinst du genau ?

  8. #8
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Formid ist nicht formname 😀

    Gesendet von meinem Nexus 7 mit Tapatalk
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  9. #9
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Formid ist nicht formname 

    Gesendet von meinem Nexus 7 mit Tapatalk
    Aber wie ich oben geschrieben habe, hatte ich es testweise auch einfach mal manuell versucht mit dem Formnamen.
    Also indemfalle "iso940204967" ( onclick="document.iso940204967.submit()" ) -> http://gamerianer.de/gameserver/mine...er-mieten.html

    So hatte ich es testweise einfach mal eingefügt, aber genau das gleich Problem: Die Seite lädt neu, es wird aber nichts in den Warenkorb gelegt.

  10. #10
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, aber die Zahl, in deinem Fall 940304967, wird dynamisch erzeugt. Daher klappt das nicht. Verstehe doch bitte, das du den Formularnamen erst selbst in dem Template in eine Variable schreiben musst und dann an den beiden Stellen ausgeben.

    Kirsten
    Geändert von KATgirl (04.01.2014 um 11:55 Uhr)
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  11. #11
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Ja, aber die Zahl, in deinem Fall 940304967, wird dynamisch erzeugt. Daher klappt das nicht. Verstehe doch bitte, das du den Formularnamen erst selbst in dem Template un eine Variable schreiben musst und dann an den beiden Stellen ausgeben.

    Kirsten
    Den Formularnamen kann man mit
    PHP-Code:
    iso<?php echo rand(); ?>
    ausgeben.
    Auch das funktioniert aber leider allerdings nicht

    Der Button:

    Code:
    <button type="submit" name="<?php echo $name; ?>" class="btn btn-5 btn-5b icon-cart <?php echo $name; ?>"onclick="document.iso<?php echo rand(); ?>.submit()"><span><?php echo $button['label']; ?></span></button>

  12. #12
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Rand() ist eine PHP Funktion, die eine zufällige Zahl erzeugt. http://php.net/rand daher sollst du das vorher in eine eigene Variable schreiben.

    Kirsten
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  13. #13
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Rand() ist eine PHP Funktion, die eine zufällige Zahl erzeugt. http://php.net/rand daher sollst du das vorher in eine eigene Variable schreiben.

    Kirsten
    Ah ich doofi, jetzt weiss ich was du meintest :P
    Funktioniert aber leider auch nicht

    Im Kopf des Templates:
    PHP-Code:
    <?php 
    $random 
    rand(); 
    ?>
    Beim Form dann:
    PHP-Code:
    name="iso<?php echo $random?>
    Der Button:
    HTML-Code:
    onclick="document.iso<?php echo $random; ?>.submit()"

  14. #14
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    eigentlich sollte das so funktionieren

    http://de.selfhtml.org/javascript/ob...tm#allgemeines

    sonst versuch mal das Beispiel 3
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  15. #15
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    sehe gerade, das du einen JS-Fehler hast auf deinem Eventeandler, der wird dich blockieren.

    HTML-Code:
    	document.querySelector( '.btn-7i' ).addEventListener( 'click', function() {
    		classie.add( document.querySelector( '#trash-effect' ), 'trash-effect-active' );
    	}, false );
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  16. #16
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Ist es nicht einfacher das einfach als Input zu lassen? Was ist das Problem mit dem Input?

    Gesendet von einer ollen Touchscreen-Tastatur. Fehler sind bedingt durch meine dicken Finger.
    Tastaturberuf | Code with ♥ and Contao.

  17. #17
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    sehe gerade, das du einen JS-Fehler hast auf deinem Eventeandler, der wird dich blockieren.

    HTML-Code:
    	document.querySelector( '.btn-7i' ).addEventListener( 'click', function() {
    		classie.add( document.querySelector( '#trash-effect' ), 'trash-effect-active' );
    	}, false );
    Habe das ganze nunmal raus genommen und auch
    Code:
    onclick="document.forms.iso<?php echo $random; ?>.submit()"
    versucht, ohne Erfolg ..

    @Cord

    Nein, da ich einen speziellen Effekt im Button habe benötige ich den <button> statt des normalen <input> Feldes.

  18. #18
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Dann erweiter doch das CSS um einen Selektor.

    Gesendet von einer ollen Touchscreen-Tastatur. Fehler sind bedingt durch meine dicken Finger.
    Tastaturberuf | Code with ♥ and Contao.

  19. #19
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von Cord Beitrag anzeigen
    Dann erweiter doch das CSS um einen Selektor.

    Gesendet von einer ollen Touchscreen-Tastatur. Fehler sind bedingt durch meine dicken Finger.
    Wird bereits gemacht

    Wie gesagt ich benötige <button> als submit <input>

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von geheimgirl Beitrag anzeigen
    Wird bereits gemacht

    Wie gesagt ich benötige <button> als submit <input>
    Warum benötigst du dann immer noch <button>?

  21. #21
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum benötigst du dann immer noch <button>?
    Leute, ich benötige ebend <button> statt <input> ... falls Ihr euch mal den Code oben anschaut, sollte es
    euch das ganze selber erklären!

  22. #22
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Mit jQuery würde ich sowas in diese Richtung testen...

    Geht bestimmt mit mooTools auch, aber da bin ich nicht so fit drin

    Code:
    $(document).ready(function(){
    	$('button[type="submit"]').click(function() {
    		$(this).closed('form').submit();
    	})
    });
    Das ganze funktioniert natürlich nur, wenn das Parent Form wirklich am nächsten ist und nicht noch ein zweites Formular folgt...
    Wenn das nicht klappt, müsstest du mit parents() arbeiten.
    Geändert von Flex (12.01.2014 um 21:45 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •