フォーム要素をデフォルト値にリセットするajax投稿の後にjscolorをどのように実行しますか?
以下のajaxは、ページ内のiframeに正常に投稿され、[デフォルトに戻す]ボタンをクリックすると、ページ形式の値がデフォルトに復元されます。問題は、jscolorがアタッチされている入力では、背景色がデフォルトに戻らないことです。
私が行った調査により、jscolor.init()を使用してjscolorを再起動する必要があると私は信じています。ajax投稿の後ですが、動作させることができません。また、ajax postの外部で関数を作成して(フォーム値をリセットしてからjscolor.init();)、onclickで[デフォルトに戻す]ボタンにバインドしようとしましたが、機能しませんでした。
ajax投稿後にjscolorを再度実行するにはどうすればよいですか?
Javascript:
<script type="text/javascript">
$(document).ready(function() {
$('#restore_form').click(function() {
$.ajax({
data: $('#build_form').serialize(),
type: $('#build_form').attr('method'),
url: $('#build_form').attr('action')+'?type=restore',
success: function(response) {
$('#preview').contents().find('html').html(response);
$('#build_form')[0].reset();
jscolor.init();
}
});
return false;
});
});
</script>
HTML:
<iframe id="preview" src="preview.php" width="100%" height="120"></iframe>
<form id="build_form" class="build_form" action="preview.php" method="post">
<input type="text" name="background_color" value="#0CA0E2" class="color {adjust:false,hash:true}" />
<input id="restore_form" name="restore" type="submit" value="Restore Default" class="button" />
<input id="save_form" name="submit" type="submit" value="Save Changes" class="button" />
</form>