gpt4 book ai didi

javascript - 动态生成的表单只提交mysql表的最后一行ID

转载 作者:行者123 更新时间:2023-12-03 03:29:26 26 4
gpt4 key购买 nike

我有一个动态生成的表单。它只有一个文本输入,其值为从数据库表 (table_one) 动态获取的 ID。我的目标是将此 ID 提交到另一个表(table_two)。在我的页面上,我可以看到从 table_one 中获取的这些 ID:1, 2, 3, 4 ,5,但是当我提交这些 ID 中的任何一个(如“2”)时,只会提交最后一个 ID“5”到表二。如何修改我的代码,以便当我提交第 2 行时,将提交 ID '2' 而不是 '5'?下面是我的代码。

HTML

<form>
<input type="text" id="name" name="name" value="<?php echo $name_id;?>" >
<button type="submit" onclick="return chk()">Edit</button>
</form>

JAVASCRIPT

function chk(){
var name = document.getElementById('name').value;
var dataString = 'name='+ name;
$.ajax({
type:"post",
url:"test.php",
data:dataString,
cache:false,
success: function(html){
$('#msg').html(html);
}
});
return false;
}

PHP

$name = $_POST['name'];
echo "$name";

最佳答案

您必须添加唯一标识符或使用 DOM。您的情况的简单解决方案是:

HTML

<input type="text" id="name-<?php echo $name_id;?>">
<button type="submit" onclick="return chk(<?php echo $name_id;?>)">Edit</button>

Javascript

function chk(name_id){
$.ajax({
type:"post",
url:"test.php",
data: {
id: name_id,
name: $('#name-'+name_id).val()
},
cache:false,
success: function(html){
$('#msg').html(html);
}
});
return false;
}

并传递要更改的行的 id。在服务器上,您处理 $_POST 中的两个值。希望这会有所帮助。

顺便说一句,在此 AJAX 场景中您不需要表单元素。

关于javascript - 动态生成的表单只提交mysql表的最后一行ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46163399/

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