0

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

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

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

有什么想法吗?

谢谢!

4

2 回答 2

1

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

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

请注意,我删除了cfformand cfinput。你不应该使用它们,它们引起的问题多于它们的价值。

于 2013-09-18T14:16:54.527 回答
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>
于 2013-09-17T16:20:58.733 回答