javascript - Ajax 从表单输入插入多条记录,将计数器添加到隐藏输入
问题描述
我创建了一个页面,该页面基于数据库中的数组创建多个表单。每个表单都有一个带有“添加”按钮的输入,可动态添加新输入(每个表单最多 10 个输入)
这很好用,但现在我要提交添加到数据库中的 andy 输入值。我在这里有两个主要问题:
我表单中的隐藏输入
<input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
具有非唯一 ID,因此无论我从哪个表单提交,它都具有仅属于第一个表单的代码值。一旦我有了这个值,并使用该表单中的任何填充输入进行序列化,我就会调用 addticker.php 来插入。我正在从表单输入中插入代码 id 和内容,但我认为我需要将其作为 foreach 执行,因为如果添加并填写了 5 个输入,我需要为每个输入记录。所有 5 个都将具有相同的代码 ID 和输入中的相应内容。
任何帮助表示赞赏
<?php foreach($tickerDisplays as $key => $ticker):?>
<form id="Items" method="post">
<label id="ItemLabel">Item 1: </label>
<input type="text" name="Items[]"><br/>
<button type="button" class="moreItems_add">+</button>
<input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
<input type="submit" name="saveTickerItems" value="Save Ticker Items">
</form>
<?php endforeach;?>
<script type="text/javascript">
$("button.moreItems_add").on("click", function(e) {
var tickerID = $('#tickerID').val();
var numItems = $("input[type='text']", $(this).closest("form")).length;
if (numItems < 10) {
var html = '<label class="ItemLabel">Item ' + (numItems + 1) + ': </label>';
html += '<input type="text" name="Items[]"/><br/>';
$(this).before(html);
console.log(tickerID);
}
});
</script>
<script type="text/javascript">
$("#Items").submit(function(e) {
//variables?
//var tickerID coming from <input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
//var Items[]
$.ajax({
type: "POST",
url: addticker.php,
data: form.serialize(), // serializes the form's elements.
success: function(data)
{
alert(data); // show response from the php script.
}
});
e.preventDefault(); // avoid to execute the actual submit of the form.
});
</script>
addticker.php
$tickerID = $_POST[''];
$content = $_POST[''];
$addTicker = "
INSERT INTO tickerTable (tickerID, content)
values ('$tickerID', '$content');
"
$mysqlConn->query($addTicker)
解决方案
推荐阅读
- mysql - 返回整个月的行数,即使该月可能没有条目。返回 0 表示月/天,没有条目
- javascript - 如何按照 JSLint 搜索嵌套对象
- javascript - 如何获取 JSON 文本的特定部分
- python - 如何从python中的total_amount,qty和rate列中删除-ve符号
- ios - 有没有办法减少 UILabel 文本的行距?
- python - 将单词的字母与矩阵中的现有字母匹配
- python - 生成轮廓时解包的值太多(预期为 2)
- python - 该代码在 jupyter 中不起作用并给出如下图所示的错误
- simulation - 模拟多个子模块时出现 Omnet++ 错误
- bitcoin - 在比特币节点上添加手动生成的私钥