我的 PHP 提交按钮不起作用。如何解决?

My PHP submit button does not work. How to solve it?

我正在使用 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>

在使用 jquery 提交表单之前,您需要有一个 submit 按钮来提交表单。

<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 令牌。请在您的表单中使用 CSRF 令牌。

{ csrf_field() }}

那么你需要使用

<input type="submit"/>

用于提交 form.If 你想使用

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

添加 CSRF:

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

OR

{!! csrf_field() !!}

祝你好运

谢谢大家的回答帮助我。我已经尝试了这一切,但仍然没有任何反应。但我看了@JYoThI 评论说“你不能将表单作为 table ,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>

检查 #af 在你的 JavaScript 上,也许你把 preventDefault() 放在上面。因为如果没有,每个发布的答案现在应该已经解决了你的问题