0

我有一个 html 表单,其中填充了我从 MySQL 数据库查询中获得的值。查询是id通过 GET 发送的。

我将 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 并且页面停止重新加载所以我想这是另一件事让我的页面变得混乱

4

2 回答 2

0

检查您的 register_globals 设置,如果它打开,您将使用第一条语句覆盖 $_GET['id'] 。

您可以通过将 $id 重命名为 $id 以外的名称来轻松检查它。

于 2012-07-09T17:01:28.623 回答
0

该页面正在重新加载,因为表单已提交。preventDefault提交表单是不够的。尝试e.preventDefault(); e.stopPropagation();后者在单击提交按钮时阻止表单提交(仍然处理单击,并且在某些情况下传播到表单,然后提交。

另外,我看到你正在使用 jQuery。只需让您的事件处理程序返回 false。jQuery 自动将返回错误的处理程序转换为e.preventDefault() ||e.returnValue = false e.stopPropagation() || e.cancelBubble = true;构造。或者您可以自己编写代码...?

于 2012-07-09T17:15:33.527 回答