我有一个简单的消息页面,人们可以对特定消息做出反应。代码:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('form').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'save_comment.cfm',
data: $('form').serialize(),
success: function () {
alert('form was submitted');
}
});
e.preventDefault();
});
});
</script>
<cfquery datasource="#ns#" name="getdata">
select text, timeline_id
from timeline
order by t_datum desc
</cfquery>
<cfoutput query="getdata">
<p>#text#</p>
<cfform>
<cfinput type="hidden" value="#timeline_id#" name="#timeline_id#">
<cfinput type="text" name="comment"><input type="submit">
</cfform>
</cfoutput>
现在的问题是表单是动态的。因此,如果我提交一些注释,则隐藏表单字段timeline_id的值为3,4,5,7。 Normaly我可以发送这样的值:
<cfform action="save_comment.cfm?timeline_id=4>
但表单是通过查询提交的,因此无需重新加载页面。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
只需创建一个名为timeline_id
的隐藏表单字段,并将其设置为您需要的值。
如
<form ....>
<input type="hidden" name="timeline_id" value="#timeline_id#" />
More form stuff here.....
</form>
请注意,我删除了cfform
和cfinput
。你不应该使用它们,它们会带来比它们更值得的问题。
答案 1 :(得分:0)
将表单字段命名为unquie(见下文),然后您可以遍历字段列表并将注释与ID匹配,将事物放在一起会更容易。
<cfoutput query="getdata">
<p>#text#</p>
<cfform>
<cfinput type="hidden" value="#timeline_id#" name="tid_#timeline_id#">
<cfinput type="text" name="tid_#timeline_id#_comment"><input type="submit">
</cfform>
</cfoutput>