[英]how can I add data to an html form when submitting (autosaving) by jQuery?
我有一个由jQuery提交的表单,用于自动保存。 这是在Ruby On Rails 3.我的模型是一个我想自动保存的帖子。 如果布尔字段(草稿)= true,则post模型适于忽略某些验证。 (如果草案为零,那么运行验证)
我使用以下代码每隔一段时间提交表单以自动保存它。
$(document).ready(function() {
setInterval(function() {
$('#post_form form[data-remote]').submit();
}, 1000*60); // 1000ms * 60s = 1m
});
当表单通过此函数提交时,我想要包含一个变量:draft => true以某种方式忽略验证等。如何添加到此javascript来完成此操作? 或者这根本不可能?
如果我必须进入代码轨道并做另一个解决方案,请评论告诉我,我会发布相关代码。
多谢你们!
$(document).ready(function() {
setInterval(function() {
var draft = $('#draft');
if(draft == null)
{
$('post_form').append('<input type="hidden" name="draft" id="draft" value="true" />');
draft = $('#draft');
}
draft.val('true');
$('#post_form form[data-remote]').submit();
}, 1000*60); // 1000ms * 60s = 1m
});
我已经更新了你的代码,我创建了隐藏的输入文本框,其值为true和name draft。
我希望这有帮助
首先, $('#post_form form[data-remote]').submit()
将完成提交,用户将被发送到action
页面。 你想要做的是一个AJAX帖子。
其次,您不希望每分钟再次遍历DOM(每次POST时)。 您应该将表单缓存在变量中,以便以后可以重新使用它。
这是你如何去做的:
$(document).ready(function() {
var $form = $('#post_form form[data-remote]'),
href = $form.attr('href');
setInterval(function() {
$.post(href, $form.serialize() + '&draft=true');
}, 60000);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.