Следующий код не будет отправлять никаких значений.
@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' на строковую константу, было принято значение accept первого test_identity.
В чем здесь проблема? Я новичок в AJAX. Приветствуется любая форма помощи!
Обновление:
Вместо Ajax я использовал iframe. Это то, что мне было нужно. Для получения дополнительной информации см. https://stackoverflow.com/a/26380651/11929921