使用 Ajax 点击
onclick using Ajax
我有一个使用拖动/拖动功能对数据进行排序的 Web 应用程序。我发现在IOS设备上通过野生动物园拖放是不行的。我正在寻找一种临时解决方案,以允许应用程序在我处理 IOS 应用程序时运行。我想知道是否可以在单击我拥有的处理拖放操作的数据工作者页面时使用 Ajax 进行 POST。这是我到目前为止所拥有的。
页1.php包含
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="/js/script.js"></script>
<header class="main-header" role="banner"><center>
</header>
</head>
<body>
<center>
<table>
<tr><td>
<div id="available" ondrop="drop('list', event)" ondragover="allowDrop(event)">
<p> <font color="blue">SID</font> | Last, First </p> <?php
include "database_connection.php";
///////////////////////////////////////////////////////////////////////////////////////////////
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s'n", mysqli_connect_error());
exit();
}
else
{
}
$query = "*******";
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
echo "<p id='{$row["sID"]}' draggable='true' onclick='drop(event)' ondragstart='dragStart(event)' width='75' height='75'> <font color='blue'> {$row["sID"]}</font> | {$row["lastName"]}, {$row["firstName"]}</p></a>";
}
/* free result set */
mysqli_free_result($result);
}
mysqli_close($link);
/////////////////////////////////////////////////////////////////////////////////
?>
</div>
</td>
<td>
<div id="order" ondrop="drop('order', event)" ondragover="allowDrop(event)">
<?php
include "database_connection.php";
///////////////////////////////////////////////////////////////////////////////////////////////
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s'n", mysqli_connect_error());
exit();
}
else
{
}
$query = "*********";
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
echo "<p id='{$row["sID"]}' draggable='true' ondragstart='dragStart(event)' width='75' height='75'><font color='blue'> {$row["sID"]} </font>| {$row["lastName"]}, {$row["firstName"]} </p></a>";
}
/* free result set */
mysqli_free_result($result);
}
mysqli_close($link);
/////////////////////////////////////////////////////////////////////////////////
?>
</div>
</td>
</tr>
</body>
</html>
脚本.js包含
function drop(containerId, e) {
var id = event.dataTransfer.getData("id");
console.log(id);
$.ajax({
url: "dataworker.php",
type: "POST",
data: {
id: id,
containerid: containerId,
//fileName: file.name, // Your file name.
//file: event.target.result // Your file.
},
success: function() {
console.log('great success');
window.location.reload()
return true
}
});
}
function dragStart(e) {
console.log(e);
e.dataTransfer.setData("id", e.srcElement.id);
}
function allowDrop(e) {
e.preventDefault();
}
第三页,Dataworker,只是通过php接受POSTS并处理它们。是否也可以让 Onclick 执行与丢弃相同的操作?我希望这是可以做到的,我不必使用传统的硬编码 get ahrefs 来实现我的目标。重要的是要注意,如果我使用与拖放相同的功能,它们也是拖放式的,因此我需要考虑 containerID。这样,POST 功能就知道它实际上要转到相反的容器,而不是单击它的容器。
我通过添加IOS html 5拖放垫片找到了答案。https://github.com/timruffles/ios-html5-drag-drop-shim。这是一个允许移动浏览器注册拖动的黑客。感谢TrueBlueAussie让我走上了正确的轨道。谢谢!
相关文章:
- 在ajax成功后,cluetip不适用于首次点击活动元素
- jQuery触发器点击未从AJAX成功工作
- 如何防止多个ajax查询在“;prev“;按钮被点击多次
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- HTML class=Ajax操作,如何让类点击调用好的操作
- Javascript/Ajax:通过点击按钮检查有效的电子邮件和电话号码
- 点击事件在谷歌地图和AJAX
- 在点击AngularJS时发出新的AJAX请求
- Ajax”;链接_;当点击非常快时发送多个请求控制器请求(Rails4)
- Ajax xml源解析依赖于jQuery的点击操作
- 从 Ajax 获取由 ZombieJS 的异步点击事件触发的 Http 错误
- Jquery Ajax调用没有't点击操作方法/返回整个HTML页面
- web抓取-点击ajax调用,然后抓取页面(可以在python中完成)
- AngularJS:如何防止从客户端程序化点击点击AJAX端点的按钮
- jquery你确定吗?插件:如果我点击ajax链接,确认对话框不会显示
- 在点击AJAX调用后附加AngularJS
- 当我点击ajax内容时,Magnific弹出关闭
- 点击Ajax/jQuery在select中加载数据会重置为第一个元素
- 用curl打开url,点击ajax按钮,等待并得到响应html
- Jquery点击;Ajax,工作,但不完全是预期的