我的代码在这里。但是当我点击按钮时,根本没有效果。
echo "<td>
<form action='http://localhost:1130/gradsys/subjects/delete.php?lrn=" . $row->lrn . "' method='POST' onsubmit='return confirm('Are you sure you want to submit this data?')'>
<div class='btn btn-danger delete-btn'>
<span class='fa fa-trash fa-fw'>
</span>Delete
</div>
</form>
</td>";
感谢那些愿意帮助的人
答案 0 :(得分:0)
此代码在此处出现引用错误:
onsubmit='return confirm('Are you sure you want to submit this data?')'
单引号字符串中的单引号字符串无法解析,因此导致HTML / JavaScript无效。
请考虑在一行代码(PHP,HTML,JavaScript)上混合三种不同的语言。这可能非常容易导致引用错误。
一些建议......
将PHP与HTML分开
为什么要对所有HTML使用echo
语句?首先把它放在PHP标签之外。像这样:
?>
<td>
<form action="http://localhost:1130/gradsys/subjects/delete.php?lrn=<?php=$row->lrn; ?>" method="POST">
<div class="btn btn-danger delete-btn">
<span class="fa fa-trash fa-fw"></span>
Delete
</div>
</form>
</td>
<?php
对HTML属性使用双引号
请注意,上面的代码中HTML中的单引号已替换为双引号。对于HTML规范,这在技术上更正确。
将JavaScript与HTML分开
另请注意,在上面的代码中我完全删除了onsubmit
属性。而不是尝试在字符串内写入字符串(在字符串中),而是将该代码与HTML标记分开。稍后,在JavaScript中,您可能会遇到以下情况:
document.querySelector('form').addEventListener('submit', function(e){
e.preventDefault();
if (confirm('Are you sure you want to submit this data?'))
this.submit();
});
最终,有许多不同的方法可以完成您尝试使用此代码执行的操作。但我们的想法是,将不同的语言保持清晰分离将使您的代码更容易支持,并有助于避免混合这些语言的印刷错误。