# Onsubmit bei form Tag

**URL:** https://forum.shopware.com/t/onsubmit-bei-form-tag/54047
**Category:** Programmierung
**Created:** [12. Juli 2018 um 15:17 UTC](https://forum.shopware.com/t/onsubmit-bei-form-tag/54047 "2018-07-12T15:17:34Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Wilson82](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@Wilson82](https://forum.shopware.com/u/Wilson82)
#### Post date: [12. Juli 2018 um 15:17 UTC](https://forum.shopware.com/t/onsubmit-bei-form-tag/54047/1 "2018-07-12T15:17:34Z")

</div>

Hallo zusammen,

im confirm.tpl habe ich das schon erfolgreich umgesetzt. Ich ergänze mein form-elements.tpl nun mit der gleichen Methodik, aber die Javascript Funktion wird einfach nicht aufgerufen.

```
{namespace name="frontend/forms/elements"}

{block name='frontend_forms_form_elements'}
    
        
                
            
         {/block}

```

Lege ich auf den Button ein onklick dann tut er, aber der return false graut mir den Sende Button aus, so dass das Formular nach Korrektur der Eingabe nicht mehr abschickbar ist.&nbsp;

```
                        {s name='SupportActionSubmit'}{/s}

```

Jemand eine Idee?

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [12. Juli 2018 um 20:03 UTC](https://forum.shopware.com/t/onsubmit-bei-form-tag/54047/2 "2018-07-12T20:03:10Z")

</div>

Warum wird die Funktion bei onclick UND&nbsp;bei onsubmit ausgeführt? Würde das ganze so lösen, dann brauchst du auch keine onclick und onsubmits in den HTMLcode schieben.

```
document.asyncReady(function() {
        $("form.support").on("submit", function(){
            if( /EQ/i.test( $("DIESESINPUTFELDPRÜFEN").val() ) ){
                return true;
            }else{
                $("DIESESINPUTFELDPRÜFEN").addClass("has--error");
                alert("Bitte achte darauf bei der Bestellnummer die EQ Nummer einzutragen! Du   
                        findest diese in deiner Bestellmail!");
                return false;
            }
        });
});

```

&nbsp;

---

<div class="post-metadata">

### Author: ![Wilson82](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@Wilson82](https://forum.shopware.com/u/Wilson82)
#### Post date: [17. Juli 2018 um 12:56 UTC](https://forum.shopware.com/t/onsubmit-bei-form-tag/54047/3 "2018-07-17T12:56:32Z")

</div>

Vielen Dank! Habe es gleich ausprobiert, aber es kommt der Fehler ----\>

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/7/755d9e4102d295e231d891a5524435a4c41e4007.png)

Liegt es an meiner script-async-ready.tpl?&nbsp;

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/5/555b877accf97284c8aafef7190a982a9f1753ee.png)

---

<div class="post-metadata">

### Author: ![Wilson82](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@Wilson82](https://forum.shopware.com/u/Wilson82)
#### Post date: [27. Juli 2018 um 13:25 UTC](https://forum.shopware.com/t/onsubmit-bei-form-tag/54047/4 "2018-07-27T13:25:47Z")

</div>

Hallo zusammen,&nbsp;

habe mir jetzt anders beholfen. Lade in der frontend/index/index.tpl folgende Dateien:

```
{block name="frontend_index_header_javascript_jquery_lib"}

    
    
    
    
    

{/block}

```

Und gebe dem form-elements.tpl unter frontend/forms folgenden Code mit:

```
 $("#support").validate(
                    {

                        errorPlacement: function(error, element) {
                            if (element.attr("name") == "name" ) {
                                error.insertBefore("#jqerror");
                            } else if (element.attr("name") == "email" ) {
                                error.insertBefore("#email");
                            } else if (element.attr("name") == "bestell" ) {
                                error.insertBefore("#bestell");
                            } else if (element.attr("name") == "artikel" ) {
                                error.insertBefore("#artikel");
                            } else if (element.attr("name") == "auswahl" ) {
                                error.insertBefore("#auswahl");
                            } else if (element.attr("name") == "defekt" ) {
                                error.insertBefore("#defekt");
                            }

                            else {
                                error.insertBefore("#e");
                            }

                        },
                        
                        rules:
                            {
                                bestell:
                                    {
                                        pattern: /^EQ/,
                                        minlength: 7,
                                        maxlength: 7
                                    },

                                defekt:
                                    {
                                        required:true
                                    }
                          },
                        messages:
                            {
                                bestell:
                                    {
                                        pattern:"Die Bestellnummer muss mit EQ beginnen. Du findest sie in deiner Bestellmail!",
                                        minlenght:"Die Bestellnummer muss 7 Stellen haben!",
                                        maxlenght:"Die Bestellnummer muss 7 Stellen haben!"
                                    }
                            }

                    });

```

Für mich war es wichtig mit der pattern Regen arbeiten zu können. Ist alles vielleicht nicht die Ideallösung, aber funktioniert einwandfrei bei mir.&nbsp;

Beste Grüße&nbsp;

Wilson
