Моя кнопка отправки PHP не работает. Как это решить?

Я использую Laravel 5 и у меня есть несколько форм на одной странице. Все работает, кроме последнего. Ничего не происходит, нет ошибок. Я пытался поставить предупреждение в кнопку. Предупреждение показало, но данные не будут сохранены.

<tr>
  <div>
    <form action="{{ url('AddComment') }}" method="POST">
      <div>
      <td>
        <textarea class="form-control edit" id="com_comment2" name="com_comment2" style="width:90%"  placeholder="Type a New Comment.." required=""></textarea>
        <input type="hidden" name="com_leads2" value="{{ $leads[0]->LED_CODE }}">
        <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
        <button id ="af" class="btn btn-round btn-success">Submit</button>
      </td>
    </div>
    </form>
  </div>
</tr>

7 ответов

Решение

Спасибо за все ответы на помощь мне. Я попробовал все это, но все еще ничего не происходит. Но я посмотрел на комментарий @JYoThI, в котором говорилось: "Вы не можете поместить форму как дочерний элемент таблицы,tbody, tr ." Затем я переместил form теги внутри <td> и это работа!!

<td>
  <form action="{{ url('AddComment') }}" method="POST">
    <textarea class="form-control edit" id="com_comment2" name="com_comment2" style="width:90%"  placeholder="Type a New Comment.." required=""></textarea>
    <input type="hidden" name="com_leads2" value="{{ $leads[0]->LED_CODE }}">
    <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
    <button id ="afjk" class="btn btn-round btn-success">Submit</button>
  </form>
</td>

Вам нужно иметь один submit кнопку, чтобы отправить форму, пока вы не отправите ее с помощью jquery.

<tr>
  <div>
    <form action="{{ url('AddComment') }}" method="POST">
      <div>
      <td>
        <textarea class="form-control edit" id="com_comment2" name="com_comment2" style="width:90%"  placeholder="Type a New Comment.." required=""></textarea>
        <input type="hidden" name="com_leads2" value="{{ $leads[0]->LED_CODE }}">
        <input type="submit" value="Submit">  // This is SUBMIT button.
      </td>
    </div>
    </form>
  </div>
</tr>

Или, если вы хотите сохранить <button> как таковой, то вы должны использовать функцию jquery/JS для его отправки.

Добавить тип кнопки тоже

<button id ="af" class="btn btn-round btn-success" type="submit">Submit</button>

Добавить CSRF:

<input type="hidden" value="{{csrf_token()}}" name="_token" id="token">

ИЛИ ЖЕ

{!! csrf_field() !!}

Удачи

Вы не отправляете токен CSRF в форме. Пожалуйста, используйте токен CSRF в вашей форме.

{ csrf_field() }}

Тогда вам нужно использовать

<input type="submit"/>

для отправки формы. Если вы хотите использовать

<button/>

чтобы сбумить форму, то вы должны отправить свою форму, используя jquery. Ваша форма должна выглядеть так.

<form action="{{ url('AddComment') }}" method="POST">
  { csrf_field() }}
  <div>
    <td>
      <textarea class="form-control edit" id="com_comment2" name="com_comment2" style="width:90%"  placeholder="Type a New Comment.." required=""></textarea>
      <input type="hidden" name="com_leads2" value="{{ $leads[0]->LED_CODE }}">
      <input type="submit" value="Submit">
    </td>
  </div>
</form>

Проверьте эти пункты:

1. Add { csrf_field() }} into your form

2. Change button to input type submit (<input type="submit"/>)

3. Check your modal and find out if all fields are fillable.

4. Print your query and check what sql query has been created.

Проверьте #af на вашем JavaScript, может быть, вы положили preventDefault() в теме. Потому что если нет, то каждый опубликованный ответ должен был решить вашу проблему

Другие вопросы по тегам