首页 > 解决方案 > 使用 ajax 传递输入名称

问题描述

我有这个脚本将项目位置存储在我的数据库中

    var set = $('#set');
    var set_x = set.offset().left;
    var set_y = set.offset().top;   
    var id = <?php echo $id ?>;

  $( "#set div" ).draggable({ 
    stack: "#set div",
      stop: function(event, ui) {
          var pos_x = ui.offset.left - set_x;
          var pos_y = ui.offset.top - set_y;
          var need = ui.helper.data("need");

          console.log(pos_x);
          console.log(pos_y);
          console.log(need);

          //Do the ajax call to the server
          $.ajax({
              type: "POST",
              url: "posinsert.php",   
              data: { x: pos_x, y: pos_y, need_id: need ,id:id,item1:item}
            }).done(function( msg ) {
              alert( "Data Saved: " + msg );
            }); 
      }
  });

});

这是我的 HTML

<div id="set">
  <div id="draggable" data-need="1">
    <p><img style="width:30%" src="./img/floor_plan_images/camera_top.png"</p>
    <input type="hidden" name="item1">
</div>

      <div id="draggable" data-need="2">
    <p><img style="width:30%" src="./img/floor_plan_images/camera_top.png"</p>
    <input type="hidden" name="item">
</div>
</div>
<div class="floor" id="droppable" ></div>

如何使用 AJAX 将输入名称传递给我的数据库?

我的项目位置已存储,但也需要项目名称。

移动同一个项目后如何更新位置?

标签: javascriptjqueryajax

解决方案


由于输入有一个名称,它会被发布,但它缺少 value 属性。我可能错了,但我认为这是因为您隐藏的输入字段缺少 value 属性。输入标签应如下所示:

<input type="hidden" name="item" value="yourValue" />

推荐阅读