Php 使用ajax刷新javascript
当我使用ajax在页面上重新加载div时,它可以工作,但当我尝试重新加载脚本时就不行了。我的javascript是动态的,来自数据库,我的div也是动态的。下面是我的代码:Php 使用ajax刷新javascript,php,javascript,html,ajax,reload,Php,Javascript,Html,Ajax,Reload,当我使用ajax在页面上重新加载div时,它可以工作,但当我尝试重新加载脚本时就不行了。我的javascript是动态的,来自数据库,我的div也是动态的。下面是我的代码: <ul id="classes"> <?php $email = 'thomas990428@me.com_classes'; $result = mysqli_query($con,"SELECT * FROM `$
<ul id="classes">
<?php
$email = 'thomas990428@me.com_classes';
$result = mysqli_query($con,"SELECT * FROM `$email` ORDER BY period"); if (!$result) echo mysqli_error(); else // ok, do your thing.
$classcount = 1;
while($row = mysqli_fetch_array($result))
{
$period = $row['period'];
$teacher = $row['teacher'];
$subject = $row['subject'];
$subjecto = strtolower($subject);
$subjecto = str_replace(' ', '', $subjecto);
$grade = $row['grade'];
echo "<li id='button" . $classcount . "' class='button' onclick='" . $subjecto . "(),homework" . $classcount . "()'><div class='deletebutton' onclick='deleteclass" . $subjecto . "()'>X</div><span class='course'>" . $classcount . ". " . $subject . "</span></li>\n";
$classcount += 1;
}
?>
<script>
<?php
$email = 'thomas990428@me.com_classes';
$result = mysqli_query($con,"SELECT * FROM `$email`");
while($row = mysqli_fetch_array($result))
{
$period = $row['period'];
$teacher = $row['teacher'];
$subject = $row['subject'];
$subjecto = strtolower($subject);
$subjecto = str_replace(' ', '', $subjecto);
$grade = $row['grade'];
echo "function deleteclass" . $subjecto . "() { \n";
echo "var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.'); \n";
echo "if (hi==true) \n";
echo "{ \n";
echo "document.getElementById('hiddenframe').src='deleteclass.php?class=".$subjecto."';";
echo "closeedit();";
echo "refreshclasses();";
echo "} \n";
echo "else \n";
echo "{} \n";
echo "} \n";
}
?>
</script>
</ul>
<iframe id="hiddenframe"></iframe>
先看评论,然后
在检查代码时,为什么不这样做呢
function deleteClass(subjecto, period, teacher, ...)
及
如果您现在只想让它工作,您可以这样做:
替换:
<div class='deletebutton' onclick='deleteclass" . $subjecto . "()'>X</div>
X
致:
X
并将整个回波部分替换为:
function deleteclass(subjecto){
var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.');
if (hi==true)
{
document.getElementById('hiddenframe').src='deleteclass.php?class='+subjecto;
closeedit();
refreshclasses();
}
}
</script>
函数删除类(subjecto){
var hi=confirm('您绝对确定要永久删除此类吗?此操作无法撤消');
如果(hi==真)
{
document.getElementById('hiddenframe').src='deleteclass.php?class=''+subjecto;
closeedit();
刷新类();
}
}
您是否尝试向页面添加新的
标记?请看。您可以按照Aiias所说的做,也可以使用静态JS函数和从AJAX返回的动态变量。但不幸的是,您不能在客户端单独使用动态“javascript+php脚本”。它看起来不像是在函数中使用句点或教师,但我添加它们只是为了给您一个想法。对不起,我对javascript有点陌生,那么我如何从参数中提取“subjectto”并在document.getElementById('hiddenframe')中使用它呢.src='deleteclass.php?class=
?
<div class='deletebutton' onclick='deleteclass(" . $subjecto . ")'>X</div>
function deleteclass(subjecto){
var hi = confirm('Are you absolutely sure you want to permantly delete this class? This cannot be undone.');
if (hi==true)
{
document.getElementById('hiddenframe').src='deleteclass.php?class='+subjecto;
closeedit();
refreshclasses();
}
}
</script>