Php 包裹<;tr>;用于ajax文件上传的内部表单

Php 包裹<;tr>;用于ajax文件上传的内部表单,php,Php,我正在制作一个简单的程序,用于编辑/更新/插入表中的,该表包含产品名称、价格和图像列。我面临的问题是使用ajax上传文件(如何使用表单数据对象使用ajax将数据发送到PHP文件)。我试图将其包装在表单中,但不起作用(任何替代方案) 动态PHP代码 “.$value['productname']” “.$value['price']” “.$array[$value['productcategory']-1]。” 使用js/jquery获取相关值并通过ajax提交。不能在表标记之间使用表单标记。

我正在制作一个简单的程序,用于
编辑/更新/插入表中的
,该表包含产品名称、价格和图像列。我面临的问题是使用ajax上传文件(如何使用表单数据对象使用ajax将数据发送到PHP文件)。我试图将其包装在表单中,但不起作用(任何替代方案)

动态PHP代码


“.$value['productname']”
“.$value['price']”
“.$array[$value['productcategory']-1]。”

使用js/jquery获取相关值并通过ajax提交。不能在表标记之间使用表单标记。参见下面的示例

$('.btn_save')。单击(函数(){
设id=$(this.attr('data-id');//这是行的id
让name=$(this.parent().parent().find('.name').val();//这是相关行的名称
让price=$(this.parent().parent().find('.price').val();//这是相关行的价格
//在这里做你的ajax
警报(id);
警报(名称);
警报(价格);
});

拯救
拯救

请尝试上面的代码。使用jquery上传文件。

不能在表和tr标记之间添加表单标记。表单标记应该在表标记之外。使用js/jquery获取相关值并通过ajax提交。
<form method="post" id="form'.$value['id'].'">
<tr class="jsgrid-filter-row" id="'.$value['id'].'">
<td class="jsgrid-cell" style="width: 163px"; id="lOcolumn'.$value['id'].'" >'.$value['productname'].'</td>
<td class="jsgrid-cell"  style="width: 100px"; id="accolumn'.$value['id'].'" >'.$value['price'].'</td>
<td class="jsgrid-cell" style="width: 100px"; id="cocolumn'.$value['id'].'" >'.$array[$value['productcategory']-1].'</td>
<td class="jsgrid-cell jsgrid-align-center" id="imagecolumn'.$value['id'].'" style="width: 100px;""><a target="_blank" href="./user/'.$value['imagelink'].'" id="image'.$value['id'].'">image '.$value['id'].'</td>
<td class="jsgrid-cell jsgrid-control-field jsgrid-align-center" style="width: 50px;" id="inputedit'.$value['id'].'"><input class="jsgrid-button jsgrid-edit-button editButtonClass" id="editButtonn'.$value['id'].'" type="button" title="Edit"><input class="jsgrid-button jsgrid-delete-button deleteButtonClass" type="button" title="Delete" id="deleteButton'.$value['id'].'"></td>
</tr>
</form>
$("form").submit(function(evt){  
  evt.preventDefault();
  var formData = new FormData($(this));
  $.ajax({
   url: 'fileUploadUrl',
   type: 'POST',
   data: formData,
   contentType: false,
   enctype: 'multipart/form-data',
   processData: false,
   success: function (response) {
     alert(response);
   }
  });
 return false;
});