-3

如何获取本地页面 DIV 内容并发布

基本上让我解释一下我的问题

在这个页面jSFiddle

<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("Text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("Text");
    var new_img = $('#' + data).clone();
    $('#' + ev.target.id).html(new_img);
}    
</script>

我允许使用将图像拉入 div。现在我想添加一个表单方法 post 和一个提交按钮

提交时,它可能会发布到 page2.php 和 page2.php 需要获取 2 div 方块的内容,其中包含用户拉入的图像“名称”或“id”,或者可以说出用户选择的当前 div 内容。

我怎样才能做到这一点。谢谢!查看我的 jsFiddle 页面,以进一步了解我尝试询问的内容:)

谢谢 !


我能想到的一件事是使用隐藏字段。我创建了 4 个隐藏字段,即 div1_selection 、 div2_selection 、 div3_selection 、 div4_selection ,它们的值最初为空白。

拖放时,它们的值将是放置在其上的 img 的 id。我的问题是如何获得在隐藏字段中放置和设置的 img 的值(如果隐藏字段方法有效)

更新的尝试:

<script>
$(document).ready(function(){
 $("#sub").submit(function(){
  var img1  =   $($("#div1").html()).attr("id");
  var img2  =   $($("#div2").html()).attr("id");
  var img3  =   $($("#div3").html()).attr("id");
  var img4  =   $($("#div4").html()).attr("id");
  $.ajax({
    url: 'setImage.php?img1='+$img1+'&img2='+$img2+'&img3='+$img3+'&img4='+$img4,
    type: 'GET',
    success: function (data) {$("#newhtml").html(data);}
    });
  });
});
</script>
<form action="" method="post" id="sub">
// some codes as on jsFiddle
<div id="newhtml"></div>

我的setImage.php代码

<?php
$img1 = $_GET['img1'];
$img2 = $_GET['img2'];
$img3 = $_GET['img3'];
$img4 = $_GET['img4'];
echo "IMG 1" . $img1 . " | IMG 2 " . $img2 . " | IMG 3 " . $img3 . " | IMG 4 " . $img4;
?>

我尝试在 newhtml 上显示返回结果,但不起作用。我做的ajax实现有什么问题吗?

谢谢


最新更新:

<script>
$(document).ready(function(){
     $("#input").click(function(){  var img1  = $($("#div2").html()).attr("id");
  var img1  = $($("#div3").html()).attr("id");
  var img2  = $($("#div3").html()).attr("id");
  var img3  = $($("#div3").html()).attr("id");
  var img4  = $($("#div4").html()).attr("id");
$.ajax({
url: 'setImage.php',
data:{image1:img1,image2:img2,image3:img3,image4:img4},
type: 'GET',
success: function (data) {
alert(data)
$("#newhtml").html(data);
}
});

  });
});
</script>

变量没有发送过来,它只是返回默认的回显消息,但它似乎无法捕获 img1、img2、img3、img4 的值

4

1 回答 1

1

要获取图像的 id:

<script>
$(document).ready(function(){
 $("#sub").submit(function(){
  var img1  = $($("#div2").html()).attr("id");
  var img2  = $($("#div3").html()).attr("id");
  var img3  = $($("#div3").html()).attr("id");
  var img4  = $($("#div4").html()).attr("id");

$.ajax({
url: 'setImage.php',
data:{image1:img1,image2:img2,image3:img3,image4:img4},
type: 'GET',
success: function (data) {
alert(data)
$("#newhtml").html(data);
}
});

  });
});
</script>

Html 代码:添加表单标签

<form action="" id="sub">
<table>
<tr>
<td><p><b>Main Image</b></p><div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"> </div></td>
<td><p><b>Image 2</b></p><div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div> </td>
<td><p><b>Image 3</b></p><div id="div3" ondrop="drop(event)" ondragover="allowDrop(event)"></div></td>
</tr>
</table>

 <img id="drag1" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)" src="http://netdna.webdesignerdepot.com/uploads/2013/02/thumbnail32.jpg" alt="img01"/></a>
 <img id="drag2" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)" src="http://netdna.webdesignerdepot.com/uploads/html5-css3-wireframing/html5-logo.jpg" alt="img02"/></a>
 <img id="drag3" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)"src="http://netdna.webdesignerdepot.com/uploads/2012/12/thumb-1.jpg" alt="img03"/></a>
 <input type="submit" value="send">
 </form>
于 2013-10-11T18:20:38.170 回答