在将表单元素重置为默认值的 ajax 帖子之后如何运行jscolor ?
当您单击“恢复默认值”按钮时,下面的 ajax 成功发布到页面内 iframe 并恢复页面表单值到默认值。问题在于附加了 jscolor 的输入不会将其背景颜色更改回默认值。
我所做的研究使我相信我需要使用 jscolor.init(); 重新启动 jscolor;在 ajax 发布之后,但我无法让它工作。我还尝试在 ajax 帖子之外构建一个函数(重置表单值,然后重置 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>