- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉这么长的解释,但在过去的两天里,我一直在解决这个问题,并尝试了各种方法来刷新我的动态表或页面,但没有成功。本期包括 3 页,第一页包含在 Div 中加载 3 个不同的页面(这些页面每个都有一个从目录加载特定文件列表的表),div 也可以通过下拉列表在每一行中显示/隐藏有一个删除按钮,它将删除 aws 存储桶目录中的文件并从表中删除该行。
问题是当我单击“删除”时,它将从目录中删除该文件,但不会删除该行(这在实际页面上时有效如果我刷新页面或再次单击“删除”,则该行将被删除,并且不会通过 include 加载到 div 标签中)。顺便说一句,上传工作完美,我有 tride.location、jquery、javascript、ajax,尝试在调试中单步执行代码。我已经将ajax等..放在echo之前和之后的deletes3file.php中,也在每个包含之前和之后以及每个php文件中。我应该提到的一件事是,deletes3file.php 会弹出一个回显,所以一旦我点击“确定”,就是当我想从表中删除该行时。
第 1 页:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="CSS/styles.css" />
<link rel="stylesheet" type="text/css" href="CSS/panels.css"/>
<body>
<!-- Begin Wrapper -->
<div id="wrapper">
<!-- Begin Header -->
<div id="header">
<ul>
<li>
<a href="index.php">Home</a>
<div class="cp-thumb">
<div class="cp-hover">
<?php
echo gethostname()
?>
</div>
</div>
</li>
</ul>
<div><a href="index.php" id="top-img"></a></div>
</div>
<!-- End Header -->
<!-- Begin Content -->
<div id="content">
<div id="dirlist">
<h2>Select Folder to upload to</h2>
<form action="uploads3.php" method="post" enctype="multipart/form-data" name="form1" id="form1"
<input type="hidden" name="method" value="post" />
<select id="bucketName" name="bucketName">
<option value="0">--Select Folder--</option>
<option value="Policy">Policy</option>
<option value="Program">Program</option>
<option value="Procedures">Procedures</option>
</select>
<input name="theFile" type="file" />
<input name="Submit" type="submit" value="Upload">
<script type="text/javascript">
document.getElementById('bucketName').addEventListener('change', function() {
var style = this.value == "Policy" ? 'block' : 'none';
document.getElementById('Policy').style.display = style;
var style = this.value == "Program" ? 'block' : 'none';
document.getElementById('Program').style.display = style;
var style = this.value == "Procedures" ? 'block' : 'none';
document.getElementById('Procedures').style.display = style;
});
</script>
</form>
</div><!-- End dirlist -->
<div id="Policy" style="display: none;">
<p><?php
include 'policy.php';
?></p>
</div>
<div id="Program" style="display: none;">
<p><?php
include 'program.php';
?></p>
</div>
<div id="Procedures" style="display: none;">
<p><?php
include 'procedures.php';
?></p>
</div>
</div><!-- End Content -->
</div><!-- End Wrapper -->
</body>
</html>
删除页面:
<?php
if(isset($_POST['bucketName'])){
$bucketName = $_POST['bucketName'];
}
$fname = $_POST['fname'];
include 'awss3con.php';
if($_POST){
if ($s3->deleteObject( $bucketName, $fname, S3::ACL_PUBLIC_READ)) {
echo "We successfully deleted your file $bucketName / $fname";
}else{
echo "Something went wrong while delteing your file. $fname sorry.";
}
}
?>
其中的页面包括:
<?php
$ignore = Array(".","..");
$count=1;
include 'awss3con.php';
// Get the contents of our bucket
echo '<form action="deletes3file.php" method="post" enctype="multipart/form-data">';
echo '<table id=db-table border=1>';
echo '<th colspan=3 style="text-align:center;">Policies</th>';
$contents = $s3->getBucket("MyBucket",'Policy');
foreach ($contents as $file){
//if(!in_array($file, $ignore));
if(!isset($flag_first)){
$flag_first=1;
continue;
}
$fname = $file['name'];
$furl = "https://s3.amazonaws.com/MyBucket/".$fname;
$newname = explode('/', $fname);
$fname = $newname['1'];
$bucketName = "MyBucket/Policy";
//output a link to the file
/*echo "<tr id='del$count'><td>$count</td><td><input type='submit' name=$furl index=$count value='delete' onclick='deleteFile(\"$dispimage\",$count,\"$directory\");> <a href=\"$furl\">$fname</a>
<input type='text' id=$count value=$furl name='furl' visible=''></td></tr>";*/
echo "<tr id='del$count'><td>$count</td><td>$fname</td><td><input type='button' id='delete$count' value='Delete' onclick='deleteFile(\"$fname\",$count,\"$bucketName\");'></td></tr>";
$count ++;
}
echo '</table>';
echo "</form>";
?>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function deleteFile(fname,rowid,bucketName)
{
$.ajax({ url: "deletes3file.php",
data: {"fname":fname,"bucketName":bucketName},
type: 'post',
success: function(output) {
alert(output);
$("#del"+rowid).remove();
}
});
}
</script>
最佳答案
而不是在 HTML 中附加事件处理程序并传递参数:
data
属性将数据与 HTML 元素关联起来。这是更好的做法,因为它将文档结构与动态功能分开,从而提高了 HTML 和 javascript 的可读性。
因此,按如下方式构建行:
echo "<tr data-fname=\"$fname\" data-bucket-name=\"$bucketName\"><td>$count</td><td>$fname</td><td><input class=\"deleteFile\" type=\"button\" value=\"Delete\"></td></tr>";
注意:不需要任何 ID
并编写相应的脚本如下:
jQuery(function($) {
$(".deleteFile").on('click', function(event) {
event.preventDefault(); // probably not necessary but won't do any harm.
var $row = $(this).closest('tr'); // the clicked button's row.
$.ajax({
'url': 'deletes3file.php',
'data': $row.data(), // the data object is composed for you automatically
'type': 'post',
'success': function(output) {
$row.remove(); // here, you already have a reliable reference to the row that is to be deleted, so just remove() it.
}
});
})
});
关于javascript - 如何在提交后重新加载包含包含内容的 div,甚至刷新整个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44054841/
我有一个类似于以下的结构。 class A { string title; List bItem; } class B { int pric
本地流 和 远程流 两者都是“媒体流列表 ”。 本地流 包含“本地媒体流 ” 对象 但是,远程流 包含“媒体流 ” 对象 为什么差别这么大? 当我使用“本地流 “- 这个对我有用: localVide
我正在尝试将 8 列虚拟变量转换为 8 级排名的一列。 我试图用这个公式来做到这一点: =IF(OR(A1="1");"1";IF(OR(B1="1");"2";IF(OR(C1="1");"3";I
我正在使用面向对象编程在 Python 中创建一个有点复杂的棋盘游戏的实现。 我的问题是,许多这些对象应该能够与其他对象交互,即使它们不包含在其中。 例如Game是一个对象,其中包含PointTrac
有没有办法获取与 contains 语句匹配的最深元素? 基本上,如果我有嵌套的 div,我想要最后一个元素而不是父元素: Needle $("div:contains('Needle')")
出于某种原因,我无法在 Google 上找到答案!但是使用 SQL contains 函数我怎么能告诉它从字符串的开头开始,即我正在寻找等同于的全文 喜欢 'some_term%'。 我知道我可以使用
我正在尝试创建一个正则表达式来匹配具有 3 个或更多元音的字符串。 我试过这个: [aeiou]{3,} 但它仅在元音按顺序排列时才有效。有什么建议吗? 例如: 塞缪尔 -> 有效 琼 -> 无效 S
嘿所以我遇到了这样的情况,我从数据库中拉回一个客户,并通过包含的方式包含所有案例研究 return (from c in db.Clients.Include("CaseStudies")
如果关键字是子字符串,我无法弄清楚为什么这个函数不返回结果。 const string = 'cake'; const substring = 'cak'; console.log(string.in
我正在尝试将包含特定文本字符串的任何元素更改为红色。在我的示例中,我可以将子元素变为蓝色,但是我编写“替换我”行的方式有些不正确;红色不会发生变化。我注意到“contains”方法通常写为 :cont
我想问一下我是否可以要求/包含一个语法错误的文件,如果不能,则require/include返回一个值,这样我就知道所需/包含的文件存在语法错误并且不能被要求/包含? file.php语法错误 inc
我想为所有包含youtube链接的链接添加一个rel。 这就是我正在使用的东西-但它没有用。有任何想法吗? $('a [href:contains(“youtube.com”)]')。attr('re
我正在尝试在 Elasticsearch 中查询。除搜索中出现“/”外,此功能均正常运行。查询如下所示 GET styling_rules/product_line_filters/_search {
我正在开发名为eBookRepository的ASP.NET MVC应用程序,其中包含在线图书。 电子书具有自己的标题,作者等。因此,现在我正在尝试实现搜索机制。我必须使用Elasticsearch作
我已阅读Firebase Documentation并且不明白什么是 .contains()。 以下是文档中 Firebase 数据库的示例规则: { "rules": { "rooms"
我的问题是我可以给出条件[ 'BookTitleMaster.id' => $xtitid, ] 如下所示 $bbookinfs = $this->BookStockin->BookIssue->fi
我需要能够使用 | 检查模式在他们中。例如,对于像“dtest|test”这样的字符串,像 d*|*t 这样的表达式应该返回 true。 我不是正则表达式英雄,所以我只是尝试了一些事情,例如: Reg
我想创建一个正则表达式来不匹配某些单词... 我的字符:var test = "é123rr;and;ià456;or;456543" 我的正则表达式:test.match(\((?!and)(?!o
我在 XSLT 中有一个名为 variable_name 的变量,如果相关产品具有名称为 A 或 B 或两者均为 A & 的属性,我将尝试将其设置为 1 B.
您好,我想让接待员和经理能够查看工作类型和费率并随后进行更新。但是技术人员只能查看不能更新。该图是否有效? 我读到扩展用例是由发起基本用例的参与者发起的。我应该如何区分技术人员只能启动基本案例而不能启
我是一名优秀的程序员,十分优秀!