我有一个html表单,其中填充了从MySQL数据库查询中获得的值。该查询由通过GET发送的id
执行。
我将id和一个被锚<a>
:包围的按钮一起发送到表单
<a href='editRQS.php?id=$row[0]'><button class='edit'>Edit</button></a>
$row[0]
由正确的id
填充,我相信它工作正常。当我点击按钮时,url会发送带有id
的内容。然后在另一个页面上收到,如下所示:
<?php
$id = -1;
if(isset($_GET['id'])){
$id = $_GET['id'];
echo "<label class='exists' id='idRequest'> $id</label>";
}
if($id != -1 ){
echo '<form id="findRequest" class="hide" >';
} else {
echo '<form id="findRequest" class="show" >';
}
?>
问题是id
到达页面,但随后它就消失了。任何帮助都将不胜感激。
编辑
页面似乎要重新加载,我不知道为什么,我有一些javascript来管理一些页面功能,唯一可能导致这种情况的是提交另一个表单时的事件处理程序,但我已经这样阻止了它:
$('anotherForm').on('submit',function(e){
.
.
.
e.preventDefault();
}
编辑
感谢所有提供帮助的人,我还没有找到它不起作用的原因,我尝试了disabling javascript,页面停止了重新加载,所以我想这是另一件让我的页面陷入混乱的事情
由于表单已提交,页面正在重新加载。仅仅preventDefault
表单提交是不够的。尝试e.preventDefault(); e.stopPropagation();
,后者在点击提交按钮时阻止表单提交(点击仍然被处理,在某些情况下传播到表单,然后提交。
另外,我看到您正在使用jQuery。只需让事件处理程序返回false。jQuery自动将返回错误的处理程序转换为e.preventDefault() ||e.returnValue = false e.stopPropagation() || e.cancelBubble = true;
构造。或者你可以自己写代码。。。?
检查register_globals设置,如果它打开,您将用第一条语句覆盖$_GET['id']。
您可以通过将$id重命名为$id以外的其他名称来轻松检查它。