gpt4 book ai didi

php - 无法使用下拉菜单提交表单

转载 作者:行者123 更新时间:2023-11-28 08:55:56 25 4
gpt4 key购买 nike

好吧,这已经困扰我一段时间了。我正在尝试创建一个可以跟踪积分的系统。页面上首先出现的是一个下拉菜单,您可以从中选择一个组。该组与可以在数据库中找到的组匹配。选择其中一个组后,组成员将显示在表格中。该表有几列,每列(除了名称列)都包含一个复选框。单击其中一个(或多个)复选框并提交表单后,我希望将与这些复选框相对应的点添加到数据库中,并显示同一组人(因此应清除所有复选框,并且下拉菜单应仍具有相同的值)。

Ajax 可能是处理这个问题的最佳方法,但不幸的是,我没有任何使用 Ajax 的经验,因此我只是使用 php 和一些 javascript。我会尝试发布尽可能少的代码。

这将创建下拉菜单:

echo "<form method=\"post\" action=\"page.php">";
echo "</br><select name=\"squad\" id=\"squad\" onchange=\"changeSquad(this.value)\">";
while($row = mysql_fetch_array($result))
{
echo "<option value='". $row['squad_id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";

函数changeSquad()然后打开请求数据并创建表的文件:

if($query_run = mysql_query($query)){
$length=0;
echo "<table id='form'><tr>
<td>Member</td>
<td>1st box</td>
</tr>";
require 'nextfile.php';
}

这个“nextfile.php”包含大部分复选框处理、设置指向它们的点、将数据添加到数据库等。它所做的最重要的事情:

echo "</form><tr><td><input type='submit' name='submit' id='submit' value='Submit' /></td></tr>";
if(isset($_POST['submit'])){
-- Do all updates --
echo "<script> alert('Points have been updated!'); </script>";
}

我已经尝试在提交按钮后添加此内容:

echo "<input type=\"hidden\" name=\"submitted\" id=\"submitted\" value=\"true\" />";

最终确实提交了点(显然对其他文件进行了一些调整之后),但不会使下拉菜单中的其他组显示出来,并且只会删除复选框应位于的整个表格(出现的只是下拉菜单,其中包含先前选择的组、成员名称和大量复选框)

有人可以帮我吗?我已经尝试了 20 多个小时的解决方案,所以我希望任何人都能提出解决此问题的好建议。

最佳答案

我拿了你的剧本:第一次从数据库输出一个值

<select name="squa" id="squad">
while($row = mysql_fetch_array($result))
{
echo '<option value="'.$row['squad_id'].'">'.$row['name'].'</option>';
}
</select>

使用 Ajax 并不复杂: //当改变时调用Ajax请求

 $( "#squad" ).change(function() {
var string = 'value='+$(this).val(); //value=to value of selected
$.ajax({
type: 'POST',
data: string, //our value
url:url, //where to make request
beforeSend: function() { $('#somediv').html('Loading...'); },
success:function(data){
$('#somediv').html('').hide();
$('#somediv').html(data);
},complete: function() {;
$('#somediv').show();
},error: function(){

}
});
});

在 URL 中(Php 文件)制作你的 table :

下一个文件

$value = $_POST['value']; //GET THe value that has been choosen in select
// do whatever you want to do with this value in php and the result just

echo $result;

如果你想重新运行一个数组

In Jquery $.ajax specify it dataTYpe:'json',
In php:
$result = array(
'st'=>$value,
'mp'=>$value
);
echo json_encode($result);

在 Jquery 中运行整个数组使用

 $('#somediv').html(data.mp+' - '+data.st);

并且会自动显示在页面中的#somediv...

我提出了一个想法,尝试在 google 上搜索更多有关 jquery 的信息,当你理解它时就很容易了。

关于php - 无法使用下拉菜单提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com