我有一个html表单,其中填充了我从MySQL数据库查询中获得的值。查询是通过GET发送的id
。
我将id发送到表单以及一个由锚<a>
包围的按钮:
<a href='editRQS.php?id=$row[0]'><button class='edit'>Edit</button></a>
$row[0]
由正确的id
填充,我确信它正常工作。当我点击按钮时,会发送带有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();
}
修改
感谢所有帮助的人,我还没有找到它无效的原因,我尝试禁用javascript和页面停止重新加载所以我想这是另一件让我的页面搞乱的事情
答案 0 :(得分:0)
检查你的register_globals设置,如果它打开,你将用第一个语句覆盖$ _GET ['id']。
您可以通过将$ id重命名为$ id之外的其他内容来轻松检查。
答案 1 :(得分:0)
页面正在重新加载,因为表单已提交。提交表单preventDefault
不够。尝试e.preventDefault(); e.stopPropagation();
后者在单击提交按钮时阻止表单提交(仍然会处理点击,并在某些情况下传播到表单,然后提交。
另外,我看到你正在使用jQuery。让你的事件处理程序返回false。 jQuery自动将错误返回的处理程序转换为e.preventDefault() ||e.returnValue = false e.stopPropagation() || e.cancelBubble = true;
构造。或者你可以自己编写代码......?