我刚刚用HTML和PHP页面设计了我的第一个表单来显示结果。在表单中,用户输入一些代码以响应某些问题,有点像多项选择,因此例如,这些是“ABC”。 PHP页面将代码作为链接显示给用户,单击该链接将转到ID为#ABC的书签(同一页面内的链接)。这是通过简单操作PHP变量实现的,如下所示:
<?php
$code = "ABC"
$part1 = '<a href="mywebpage.php#';
$part2 = '">Go to this code</a>';
$string = $part1.$code.$part2;
echo $string;
?>
(即页面中的链接显示“转到此代码”,点击后将转到带有书签ABC的部分)
这一切都运行正常,但我只需要知道是否存在错误捕获的方法,以便如果输入的代码不存在书签,则可以向用户显示消息?可以使用PHP变量完成,还是需要使用JavaScript?一种解决方法可能是在网页上搜索ID“#ABC”。是否可以这样做?另一种选择是在服务器上存储一组有效代码,然后在设置书签之前查询,但我想要保持尽可能简单。任何帮助表示赞赏,谢谢。
答案 0 :(得分:0)
你称之为“书签”我们称之为哈希。当你说“去书签”你的意思是哈希变化。散列更改不会向服务器发出额外请求,它都是在客户端处理的,因此必须使用JavaScript而不是PHP来完成。
所以,让我们在哈希变更window.onhashchange
上做一些简单的JavaScript,它将搜索具有该ID的元素,如果没有找到警告的话。
window.onhashchange = function(){
if(!document.getElementById(location.hash){
alert("not found");
}
}