好吧,这是我的问题。因此,我有一个表,使用PHP和SQL显示一些数据,如下所示:
然后,正如我在那张图片中所示,我想单击该按钮,获取ID值,然后执行另一个SQL语句,并在我拥有的另一个PHP文件中显示另一个表。
我的问题是,正如它提到的here,你不能真的使用AJAX发送它,然后重定向。我是AJAX和JavaScript的新手……
当然,我知道其他方法,比如<form>
和它的submit元素,但是我已经有一个<form>
,用于显示表的行,并接收新的数据输入。因此,如果我使用form,我将不得不嵌套它们,这是不起作用的。
我试着这样做:
表文件(其中包含要发送的id )
<script>
function openCateg(id) {
$.ajax({
data: {variable: id},
url: 'categoriasSentenciasAJAX.php',
type: "POST",
success: function(data) {
alert(data);
}
});
//window.location = "categoriasSentenciasAJAX.php";
}
</script>
categoriasSentenciasAJAX.php (我想在这里接收数据)
$q = $_POST['variable'];
我也尝试了GET方法,只是调用:
window.location = "categoriasSentenciasAJAX.php?variable=" + id;
和
$q = $_GET['variable'];
实际上,它确实起作用了,但当我重新加载站点时,它不会导致变量变为空。
PHP (由语句生成,这是一个基本的SELECT
<form method="post" onsubmit="return confirm('¿Desea actualizar los datos?')">
<table class="w3-table w3-striped w3-bordered" id ="table" width="70%" border="1px">
<thead>
<tr class="w3-theme">
<th>IDEmpresa</th>
<th>Usuario</th>
<th>Nombre*</th>
<th>Direccion*</th>
<th>Ambito*</th>
<th>Color*</th>
<th>Categoria</th>
</tr>
</thead>
<tbody>
<?php
foreach ($row as $key => $row) {
?>
<tr class="w3-white">
<td><input type="text" class="w3-input" readonly="readonly" name="idE[]" value="<?php echo $row["idEmpresa"]?>" required/></td>
<td><input type="text" class="w3-input" readonly="readonly" name="idU[]" value="<?php echo $row["Usuario"] ?>" required /></td>
<td><input type="text" class="w3-input" name="nombre[]" value="<?php echo $row["Nombre"] ?>" required /></td>
<td><input type="text" class="w3-input" name="direccion[]" value="<?php echo $row["Direccion"] ?>" required /></td>
<td><input type="text" class="w3-input" name="ambito[]" value="<?php echo $row["Ambito"] ?>" required /></td>
<td><input type="color" class="w3-input-color" name="color[]" value="<?php echo rgb2hex2rgb($row["Color"]) ?>" /></td>
<td >
<button id="cat" type="button" name="button[]" class="w3-btn w3-dark-grey w3-hover-light-grey" onclick="openCateg(<?php echo $row["idEmpresa"]?>);">Categorias</button>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<br>
<div class="w3-center">
<div class="w3-padding-32">
<input type="submit" class="w3-btn w3-xlarge w3-dark-grey w3-hover-light-grey" value="Actualizar Empresas" name="update">
</div>
</div>
</form>
因此,总而言之,我只想单击图片中显示按钮,获取id并使用它将其发送到另一个文件,在该文件中我将调用SQL语句来显示另一个表。我想重定向到新的php文件,如果可能的话。
我只想将变量发送到另一个php文件,而不会在我按下浏览器的刷新按钮时消失。
请原谅我糟糕的英语。
提前感谢!
发布于 2018-05-31 18:27:47
如果您的值在刷新时变为null,则尝试将您要传递的值设置为默认值。
document.getElementById("button_id").defaultValue = id;
发布于 2018-05-31 18:42:16
为什么你希望它被重定向?发布你的价值并获得响应,成功后你可以做任何你想做的事情。
function OpenCateg(id)
{
variable = id;
$.ajax({
type: "POST",
url: "categoriasSentenciasAJAX.php?variable="+id,
success: function(data){
window.location = "categoriasSentenciasAJAX.php";
},
error: function(data){ alert('Error occured'); }});}
发布于 2018-05-31 19:28:10
试试这个:
function openCateg(id){
window.location.assign('categoriasSentenciasAJAX.php?id='+id);
}
https://stackoverflow.com/questions/50621812
复制相似问题