gpt4 book ai didi

javascript - 根据值设置表单名称

转载 作者:行者123 更新时间:2023-11-30 00:27:50 25 4
gpt4 key购买 nike

我正在创建第一个提交到数据库的表单,需要一些帮助。我已经完成了大部分工作,但我陷入困境的是添加新行。我有一个 JavaScript 函数,可以让我添加任意数量的行,但它有两个问题。第一个是使用 Javascript,当我点击提交时,php 表单似乎没有“看到”添加的新字段。第二个问题是我正在设置一个键:值关系,我不知道如何在 JavaScript 中设置。

问题是,正如您在代码中看到的,我正在设置一个包含 2 个字段的表行,一个是键,另一个是值,但是当您不知道会发生什么时,您如何声明这一点在那里输入?

<script type="application/javascript">
function addRow(S_ID, S_NAME){
var addRow ='<tr><td><input type="text" name="" value=""></td><td><input type="text" name="" value=""></td></tr>';
$("#applyTable").append(addRow);
}
</script>
<table width=400>
<tr><th>Setting</th><th>Value</th></tr>
</table>

<form action="functions.php?do=save" method="POST" id="saveSettings">
<table class="myTable" border="1px" style="width:400px;" >
<tbody id="applyTable">
<?
include 'db.php';
foreach($db->query('SELECT * from settings') as $row) {
print_r("<tr><td>" . $row[1] . "</td><td><input type=\"textbox\" name=\"
" . $row[1] . "\" value=\"" . $row[2] . "\"></td></tr>");
}
?>
</tbody>
</table>
<input type="submit">
<input type="button" value="Add" border="1px" onclick="addRow()" />
</form>

这是它提交到的页面:

<? 
if ($_REQUEST['do'] == 'save'){
include 'db.php';
foreach ($_POST as $key => $value)
{
$sql="UPDATE settings SET value = \"$value\" WHERE name = \"$key\"";
$db->query("$sql");
echo "$sql<br>";
};

};
?>

如有任何帮助,我们将不胜感激。

最佳答案

首先,似乎键和值没有设置为输入元素的名称,我想它应该看起来像

   function addRow(S_ID, S_NAME){
var addRow ='<tr><td><input type="text" name="'+s_ID+'" value=""></td><td><input type="text" name="'+S_NAME+'" value=""></td></tr>';
$("#applyTable").append(addRow);
}

并且未设置用于单击按钮的参数,应该是这样的:

<input type="button" value="Add" border="1px" onclick="addRow('mykey', 'myvalue')" />

如果输入元素缺少名称,表单不会将任何字段发布到操作脚本如果所有的键和名称都相同,只需将 mykey 和 myvalue 替换为 mykey[] 和 myvalue[] 即可使其成为数组

关于javascript - 根据值设置表单名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740149/

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