循环中的Ajax不提交值

问题描述 投票:0回答:1

以下代码将不会提交任何值。

@foreach ($tests as $test) 
<?php $specialname = $test->test_identity; $myformtestid = str_replace("-", "", $specialname);?>
  <form method="POST" action="/tickets/{{ $test->id }}/edit" name="{{$myformtestid}}" id="{{$myformtestid}}">
  {{ method_field('patch') }}
  {{ csrf_field() }}
    <td style="width: 10%; padding-top: 2px; padding-bottom: 2px; border: 1px solid lightgrey;">
      <select name="accept" class="form control" style="" onclick = "{{$myformtestid}}submitform()">
    @if($test->accept==1)
      <option value="1" selected>Accept</option>
      <option value="0">Reject</option>
      <option value="2">Pending</option>
    @elseif($test->accept==0)
      <option value="1">Accept</option>
      <option value="0" selected>Reject</option>
      <option value="2">Pending</option>
    @else
      <option value="1">Accept</option>
      <option value="0">Reject</option>
      <option value="2" selected>Pending</option>
    @endif
  </select>
  <br>
  Updated: {{\Carbon\Carbon::parse($ticket['updated_at'])->format('d-m-y') }}
  <br>
<?php echo $myformtestid?>

  <script>
    $name = "#<?php echo $myformtestid ?>";
  function {{$myformtestid}}submitform(){
    $.ajax({

      data: $($name).serialize(),
      type: $($name).attr('method'),
      url:  $($name).attr('action'),


    });     
  }

  </script>@endforeach

但是,当我将$specialname更改为字符串常量时,将提交第一个test_identity的接受值。

这里是什么问题?我是ajax的新手。非常感谢任何形式的帮助!

更新(10月14日)我使用的是iframe,而不是Ajax。这就是我所需要的。有关更多信息,请参考https://stackoverflow.com/a/26380651/11929921

javascript php html ajax laravel
1个回答
0
投票

[确定,现在我意识到问题可能出在$name = "#<?php echo $myformtestid ?>";中的<script></script>。我当时将其声明为php变量...应该改用var name = "#<?php echo $myformtestid ?>"; ..

© www.soinside.com 2019 - 2024. All rights reserved.