Announcement

Collapse
No announcement yet.

Browser meldet JS-Fehler. Syntax scheint in Ordnung.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Browser meldet JS-Fehler. Syntax scheint in Ordnung.

    Hallo,

    eine Formularkomponente in meiner Joomla-Installation wirft einen Fehler aus, sobald ich eine checkbox verwende. Alle anderen Formular-Elemente (auch in anderen Formularen) funktionieren.
    Ich habe gelesen, dass es an einer im cache gespeicherten fehlerhaften js-Dateien liegen kann. Die Dateien sind aber frisch installiert und ich habe jetzt sogar den Browser neu installiert und auch in zwei anderen Browsern funktioniert es nicht.
    Ich habe geguckt, was passiert, wenn ich ein anderes (Standard-) Template verwende - der Fehler bleibt.
    Ich würde mich an den Entwickler der Komponente wenden, würde aber wenigstens gerne mal nachvollziehen, wo hier überhaupt der Fehler sein soll.
    Für mich sieht das alles korrekt aus. Bin aber kein JS-Freak.

    Für den Teil mit "{type : "checkbox" ,label : "field33" , value: 1, isDisabled : false, isForbidden: false},"
    meldet …
    Firefo: Uncaught SyntaxError: expected expression, got ','
    Chrome: Uncaught SyntaxError: Unexpected token ','

    jQuery('#visform11').initVisform({visform : {"fid":"11","initEditor":false,"parentFormId":"vis form11","steps":1,"nbFields":9,"summaryLayout":"ta ble","summaryLayoutClass":"","summaryRowLayout":"t r","oSummaryFirstElementLayout":"<td>","cSummaryFi rstElementLayout":"<\/td>","oSummarySecondElementLayout":"<td>","cSummar ySecondElementLayout":"<\/td>","displaysummarypage":false,"hideemptyfieldsin summary":false,"fields":"[{"id" : 27, "type" : "multicheckbox","label":"gender"},{"id" : 28, "type" : "text","label":"first name"},{"id" : 29, "type" : "text","label":"last name"},{"id" : 30, "type" : "fieldsep","label":"fieldseparator"},{"id" : 31, "type" : "text","label":"phone number"},{"id" : 32, "type" : "email","label":"email"},{"id" : 33, "type" : "checkbox","label":"subscribe to newsletter"},{"id" : 34, "type" : "checkbox","label":"terms and conditions accepted"},{"id" : 35, "type" : "submit","label":"submit"}]"}, restrictData : {}, userInputs : [
    {type : "multicheckbox" ,label : "field27" , value: Array, isDisabled : false, isForbidden: false},
    {type : "text" ,label : "field28" , value: "", isDisabled : false, isForbidden: false},
    {type : "text" ,label : "field29" , value: "", isDisabled : false, isForbidden: false},
    {type : "text" ,label : "field31" , value: "", isDisabled : false, isForbidden: false},
    {type : "email" ,label : "field32" , value: "", isDisabled : false, isForbidden: false},
    {type : "checkbox" ,label : "field33" , value: 1, isDisabled : false, isForbidden: false},
    {type : "checkbox" ,label : "field34" , value: , isDisabled : false, isForbidden: false}]});
    });

    Für mich sieht die Syntax korrekt aus.

    Danke für Eure Hilfe.

  • #2
    Was hat das mit Javascript zu tun?
    Hier wird lediglich eine Javascriptfunktion (initVisform) mit Parametern aufgerufen.
    Diese werden offenbar von einer unbekannten Komponente in Joomla ausgewertet. Einer dieser Parameter ist falsch.
    Wie soll jemand hier erkennen, was falsch ist
    Lies die Beschreibung zu dieser Komponente oder dort nach, wie die Parameter für die Checkbox lauten müssen
    Vielleicht sollte hier ein Value rein
    {type : "checkbox" ,label : "field34" , value: , isDisabled : false, isForbidden: false}]});
    Christian

    Comment


    • #3
      Hallo Christian,
      erstmal danke für die Rückmeldung.
      Leider verstehe ich das nicht ganz. Wie soll es nicht etwas mit JS zu tun haben? Der Browser sagt doch, dass in der Zeile ein Fehler sein soll. Und meine Frage ist, wo denn da ein syntaktischer Fehler sein soll.
      Muss hinter "Value:" etwas stehen, z.B. erzwungener Maßen Anführungsstriche oder darf dort direkt ein Komma folgen?

      Comment


      • #4
        Du ruft eine Javascriptfunktion auf, die Parameter benötigt.
        Einer oder mehrere dieser Parameter führen bei der weiteren Verarbeitung zu einem Fehler.

        Das hat nichts mit dieser einzigen Zeile mit Javascript zu tun, sondern mit der Verarbeitung im weiteren.
        Da keiner hier weiß was für eine Komponente das ist und welche Parameter sich braucht, ist das hier nicht lösbar.
        Fast alles was hinter initVisform steht ist kein Javascript, sondern die Parameter für die Javascriptfunktion initVisform

        Muss hinter "Value:" etwas stehen, z.B. erzwungener Maßen Anführungsstriche oder darf dort direkt ein Komma folgen?
        Woher soll das einer Wissen. Wer ruft die Funktion initVisform auf. Woher kommt sie?
        Man kann aus der Struktur schließen, dass da was stehen sollte




        Verdeutlichung:

        initVisform (Parameter....)
        {
        ....
        ....
        ...
        ...
        Fehler!
        ....
        }

        Wer soll man nun die Ursache finden?
        Du hast hier lediglich
        initVisform (Parameter....)
        gezeigt.

        Du erwartest jetzt, das hier jemand den Fehler findet ohne die Funktion zu kennen?
        Und es hat deshalb primär nichts mit Javascript zu tun,weil hier kein Fehler im dem Javascript vorliegt, sondern wohl bei den übergebenden Parametern
        Zuletzt editiert von Christian Marquardt; 24.09.2020, 14:37.
        Christian

        Comment


        • #5
          Weißt Du was, wenn ich so schlau wäre wie Du, hätte ich mich nicht an dieses Forum gewandt. Wenn Du genervt bist und keine Lust hast auf meine anscheinend dumme Frage (bekanntlich gibt es sowas nicht) zu antworten, dann lass es doch einfach.

          Comment


          • #6
            Du hast anscheindend nicht verstanden, dass die Frage so nicht beantwortet werden kann und ich glaube, ich muss mich von dir nicht dumm anmachen lassen
            Christian

            Comment

            Working...
            X