3 Stimmen

So wenden Sie den Shake-Effekt auf ein Dialogfeld mit einem eingebetteten Formular an

Ich bin Neuling auf diesem, ich versuche, den Shake-Effekt zu einem Dialog, der ein eingebettetes Formular hat, aber nicht Erfolg auf diese anzuwenden.

Wenn ich versuche, den Effekt auszulösen

$("#restore_password").effect("shake", {times: 3}, 80);

nur die Felder innerhalb des Formular-Tags wirken sich aus, das Dialogfeld selbst jedoch nicht.

Mein div

<html>
    <body>
        <div id="restore_password" title="Confirmation code" class="ui-widget-content ui-corner-all" >
           <form> <fieldset> <label for="code">Code</label> <input type="text" name="codecon" id="codecon" class="text ui-widget-content ui-corner-all" /> </fieldset> 
           </form> 
        </div>
    </body>
</html>

Mein Dialog

$("#restore_password").dialog({
                height: 220,
                width: 310,
                autoOpen: false,
                modal: true,
                draggable: false,
                resizable: false,
                show: 'puff',
                hiden: 'puff',

                buttons: {

                    "Confirm": function(){

                        $("#change_password").dialog('open');

                    },

                    "Cancel": function(){

                        $(this).dialog('close');
                        $("#forgot_data").dialog('close');
                        $("#dialog-form").dialog('open');
                        setTimeout(function(){
                                $("#name").focus();

                            }, 800);

                    }
                },
                close: function() {
                    allFields.val('').removeClass('ui-state-error');    
                }
            });

Irgendwelche Ideen? wären hilfreich.

3voto

Thomas Hunter II Punkte 4904

Die Lösung von Nalum funktionierte, war aber etwas hässlich. Versuchen Sie diese hier:

$('#restore_password').parent().effect("shake", {times: 3}, 80);

2voto

Nalum Punkte 4083

$(...).dialog(...); erzeugt ein neues Element ohne id.

z.B..

<div id="testingDiv">...</div>

になる

<div style="..." class="..." tabindex="..." role="dialog" aria-labelledby="ui-dialog-title-testingDiv">
    ...
    <div id="testingDiv">...</div>
    ...
</div>

Ihr Code funktioniert also. Was Sie tun müssen, ist das Ziel der Dialog div zB.

$('div[aria-labelledby=ui-dialog-title-testingDiv]').effect("shake", {times: 3}, 80);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X