4

ユーザーがパスワードをリセットするために開くモーダルフォームがあります。

<div id="password-form" title="Reset Password">
<form method="post">
<fieldset>
<label for="emailreset">Enter Email Address</label>
<input type="text" name="emailreset" id="emailreset" class="text ui-widget-content   ui-corner-all" />
</fieldset>
</form>
</div>

ユーザーがパスワードのリセットボタンを押すと、ユーザーが存在するかどうかを確認する関数を呼び出します。投稿が成功したら、div の内容を生成されたメッセージに変更します。そのすべてが期待どおりに機能します。今私がやりたいことは、モーダルダイアログを閉じたら、コンテンツをフォームにリセットしたいということです。これを実現するのに問題があります。

ここに私がjqueryのために持っているものがあります

$( "#password-form" ).dialog({
autoOpen: false,
height: 200,
width: 300,
modal: true,
buttons: {
"Reset Password": function() {

$.ajax({
url: "/model/websitemanager.cfc"
, type: "post"
, dataType: "html"
, data: {
method: "resetpassword"          
, emailreset: $("#emailreset").val()
}
, success: function (data){
//alert(data);
$('#password-form').html('<p>'+data+'</p>');
}
// this runs if an error
, error: function (xhr, textStatus, errorThrown){
// show error
alert(errorThrown);
}
});
<!--//end ajax call//-->
},
},
close: function() {
emailreset.val( "" ).removeClass( "ui-state-error" );
$(this).dialog('destroy').remove()
}
});
4

1 に答える 1

2

これは、アプリケーション全体でグローバルに使用できる単純な関数です。

function clearInputs(target) {
  $(target).find(':input').each(function () {
    switch (this.type) {
        case 'password':
        case 'select-multiple':
        case 'select-one':
        case 'text':
        case 'textarea':
            $(this).val('');
            break;
        case 'checkbox':
        case 'radio':
            this.checked = false;
    }
  });
}

そして、これが私がjQueryダイアログにそれをどのように使用するかです:

$('#myDialog').dialog({
    buttons:{
        'Submit':function () {
            // Do something here
            clearInputs($(this).find('form'));
            $(this).dialog('close');
        },
        'Cancel':function () {
            clearInputs($(this).find('form'));
            $(this).dialog('close');
        }
    },
    close:function () {
        clearInputs($(this).find('form'));
    }
});
于 2013-02-01T18:54:07.573 に答える