Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中指定表单_Php_Jquery_Ajax_Laravel Blade - Fatal编程技术网

Php 在laravel中指定表单

Php 在laravel中指定表单,php,jquery,ajax,laravel-blade,Php,Jquery,Ajax,Laravel Blade,我有数据将附加到下面的blade view代码中,并且每个都被扭曲成一个表单,问题是发送到后端的数据总是来自第一个表单(不知何故,其他表单数据将被忽略) 我的表单的外观: 从第一个表单发送数据ID=7 从第二个表单发送数据仍然ID 7 代码 我的表单的HTML输出 <tr> <form method="POST" action="http://site.pp/admin/products/15/edit" accept-charset="UTF-8">

我有数据将附加到下面的blade view
代码中,并且每个都被扭曲成一个表单,问题是发送到后端的数据总是来自第一个表单(不知何故,其他表单数据将被忽略)

我的表单的外观:

从第一个表单发送数据
ID=7

从第二个表单发送数据
仍然ID 7

代码 我的表单的HTML输出

<tr>

  <form method="POST" action="http://site.pp/admin/products/15/edit" accept-charset="UTF-8">

  </form>
  <input name="_token" value="DLrcOa0eOm90e4aaGSYp2uCeiuKtbGCT9fCOUP16" type="hidden">

  <input name="product_id" id="product_id" value="15" type="hidden">

  <td>Graphic</td>

  <td>

    <select class="subspecifications form-control tagsselector" id="subspecifications" name="subspecifications[]" multiple="multiple">

      <option value="7">Intel 920</option>

    </select>

  </td>

  <td class="text-center">

    <button type="button" id="savedynspecto" class="savedynspecto btn btn-md btn-success"><i class="fa fa-check"></i> Save</button>

  </td>

</tr>

图解的
英特尔920
拯救
注意:

让我好奇的是为什么我的表单一打开就关闭了

<tr>
 <form method="POST" action="http://site.pp/admin/products/15/edit" accept-charset="UTF-8">

  </form>
...

...
下面是我的行将如何附加到blade

var my_row = $('<tr>');
var my_html = '{{ Form::open() }}<input name="product_id" id="product_id" type="hidden" value="{{$product->id}}"><td>'+value1.title+'</td>';
my_html += '<td><select class="subspecifications form-control tagsselector" id="subspecifications" name="subspecifications[]" multiple="multiple">'+helpers+'</select></td>';
my_html += '<td class="text-center"><button type="button" id="savedynspecto" class="savedynspecto btn btn-md btn-success"><i class="fa fa-check"></i> Save</button></td>{{Form::close()}}</tr>';
my_row.html(my_html);
$('#addcustomstr').append(my_row);
var my_row=$('');
var my_html='{{Form::open()}}'+value1.title+'';
我的html+=''+助手+'';
my_html+='Save{{{Form::close()}}';
my_row.html(my_html);
$('#addcustomstr').append(我的行);
正如您所看到的,我的
{{Form::open()}}
在第一个
之前,
{{Form::close()}}
就在第一个
之前,但是为什么在它打开之后就要关闭呢


有什么想法吗?您的HTML格式不正确。您有一个
input
元素作为
tr
元素的直接后代。仅允许
td
th
作为
tr
元素的直接后代。将隐藏的输入字段放入
td
标记中,如下所示:

var my_html = '{{ Form::open() }}<td><input name="product_id" id="product_id" type="hidden" value="{{$product->id}}">'+value1.title+'</td>';
var my_html='{{Form::open()}}'+value1.title+';
并检查是否有效

编辑:当然,这也是格式错误的HTML,因为
form
元素也不允许在
tr
元素中使用。将整个表格包装在表单标签中。


感谢所有人的帮助,因为我被警告在
tr
td
中不允许使用表单,我决定在我的表外使用
,并将我的数据追加到那里,这样我就可以毫无问题地运行我的表单了。

什么时候是
$('#addcustomstr')。追加(我的行)调用的代码?乍一看,您使用的是
{{$product->id}}
,从服务器加载时,假设为1。如果调用
$('#addcustomstr').append(我的行)
多次,每个
都会有相同的值1。@Timliews这是正确的,因为每个表单都有产品id,在本例中,所有产品id都是相同的(我正在编辑页面中工作)。我现在明白了。关于无效HTML,您实际上可以删除
元素,向每个
添加一个类,如
ssWrapper
,并将其作为
中的目标。savedynspector
点击功能;因为您使用的是AJAX,所以实际上不需要表单元素。@TimLewis好的,您能给我一个针对该类的示例吗?就是说
;我说。另外,你可以在你的JS中使用
\u token:“{csrf\u token()}”
(假设你在
.blade.php
文件中),它不起作用bro(如果我把我的tr放在表单中)它停止了我的数据被追加。问题是,你不能将表单作为表或表行的直接后代。您要么将整个表放在表单中,要么将表单放在表单元格中,要么不使用表。检查此问题的答案:如果我添加另一个表体并将tr与我的表单一起扭曲到该tbody中会怎样?不能用表单包装表行元素,因为表单元素不能是表元素的直接后代。在这种情况下,我应该只使用引导的行类,而不能使用表右键?
var my_row = $('<tr>');
var my_html = '{{ Form::open() }}<input name="product_id" id="product_id" type="hidden" value="{{$product->id}}"><td>'+value1.title+'</td>';
my_html += '<td><select class="subspecifications form-control tagsselector" id="subspecifications" name="subspecifications[]" multiple="multiple">'+helpers+'</select></td>';
my_html += '<td class="text-center"><button type="button" id="savedynspecto" class="savedynspecto btn btn-md btn-success"><i class="fa fa-check"></i> Save</button></td>{{Form::close()}}</tr>';
my_row.html(my_html);
$('#addcustomstr').append(my_row);
var my_html = '{{ Form::open() }}<td><input name="product_id" id="product_id" type="hidden" value="{{$product->id}}">'+value1.title+'</td>';