首页 > 解决方案 > 如何为表单生成动态唯一 ID,该表单是弹出表单以评论每篇文章但它获取最后一篇文章 ID

问题描述

我想用包含 4-5 个字段的弹出表单评论帖子。我想提供要评论的帖子的帖子 ID 的弹出表单,但是当通过隐藏字段发布此 ID 时,它总是会导致最后一个帖子 ID。如何生成一个动态不同的 id 来给我准确的帖子 id?

<form id="forms">
  <label for="email">Facility :</label>
  <input type="text" class="form-control" id="facility" name="facility" maxlength="50">  
  //printing{{$customerpost->id}} this value gives correct post id
  <input type="hidden" name="hidden" value="{{$customerpost->id}}" id="hidden">
  <button type="submit" class="btn btn-lg btn-primary btn-block"  id ="submit">Post It! </button>
</form>

$( 'form' ).submit(function ( e ) {
    var data;
    data = new FormData();

    $.ajax({
        headers: {
            'X-CSRF-TOKEN':  $('meta[name="csrf-token"]').attr('content'),
            authorization:  $('meta[name="csrf-token"]').attr('content'),
        }
    });

    data.append('facility', $("#facility").val());
    data.append('hidden', $("#hidden").val());

    console.log(data);
    alert(data);

    $.ajax({
        url: 'api/bidon/',
        data: data,
        processData: false,
        contentType: false,
        type: 'POST',
        success: function ( data ) {
            alert("sucess");
            alert( data );
        }
    });

    e.preventDefault();
});

当我登录到控制台时,它总是给我最后一个帖子 ID。如何使用 Laravel 框架解决这个问题?

标签: javascriptphpjqueryajaxlaravel

解决方案


只需单击即可执行此操作

<!-- Add post id in attribute -->
<div data-id="12345" class="btn"> add comment </a>

<script type="text/javascript">
$('body').on('click','.btn',function(){
    // get id from         
    var id = $(this).attr('data-id');
    // set id to hidden attribute
    // $('#hidden').attr('data-id', id);
    // or set id to hidden input
    $('#hidden').val(id);
    // Show form
    $('#forms').slideUp();
});
</script>

推荐阅读