动态表单传递数据(coldfusion和查询)

时间:2013-09-17 14:49:30

标签: jquery coldfusion

我有一个简单的消息页面,人们可以对特定消息做出反应。代码:

    <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>

但表单是通过查询提交的,因此无需重新加载页面。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

只需创建一个名为timeline_id的隐藏表单字段,并将其设置为您需要的值。

<form ....>
    <input type="hidden" name="timeline_id" value="#timeline_id#" />
    More form stuff here.....
</form>

请注意,我删除了cfformcfinput。你不应该使用它们,它们会带来比它们更值得的问题。

答案 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>