Wenn ich die Seite mit normaler Anfrage (nicht Ajax) öffne, funktioniert alles gut. Aber wenn ich dieses Formular mit Ajax lade, funktioniert die Client-Validierung in diesem Formular nicht.
Der Formulargenerator ist ein klassisches gii-generiertes Zeug:
%Vor%Das Laden von Ajax geschieht folgendermaßen:
%Vor% Ich musste renderPartial mit processOutput = true
aufrufen, damit es das Javascript ausgibt. Das Widget-generierte Javascript sieht folgendermaßen aus:
Ich habe das Problem auf die Tatsache zurückgeführt, dass bei der Auswahl von $('#cat-form')
das zurückgegebene jQuery-Objekt leer ist, dh es gibt noch kein Formular.
Wie füge ich die Client-Validierung für Ajax-geladene Inhalte in Yii richtig hinzu?
Ich bin dumm und habe gerade 4 Stunden damit verschwendet:
%Vor% Also wurde das Skript ausgeführt, wenn das Formular nur ein temporäres Element war, das noch nicht an die Seite angehängt wurde. Daher hat die $('#form')
nichts gefunden.
Da ich gerade einige Stunden damit verbracht habe, nach Lösungen zu suchen (ich glaube, das passiert beim Programmieren oft), kann ich jetzt auch das Ganze erklären, damit andere nicht wie ich enden müssen. : |
Viel Glück.
Tags und Links javascript jquery php ajax yii