我有一个动态文本框在我的引导模式,但它只保存第一个项目。但是,我尝试过在不使用ajax的情况下使用本机submit,它捕获所有输入的数据。我不知道我的ajax代码哪里出错了。我只想插入从动态文本框输入的所有数据,而不必重新加载页面。下面是我的示例代码:
<!-- start dynamic fields for parameter -->
<div class="row">
<div class="col-md-12">
<div class="input-group control-group after-add-more">
<?php require 'lab/pardrop.php'; ?> <!--dropdown list for parnam-->
</select>
<input type="text" name="parval[]" class="form-control" id="parval"
placeholder="Value" >
<button class="btn btn-success addmore" type="button" data-
toggle="tooltip" title="Add Parameter">
<i class="glyphicon glyphicon-plus"></i></button>
</div>
</div>
</div>
<!--start hidden fields-->
<div class="row">
<div class="col-md-12">
<div class="copy-fields hide">
<div class="control-group input-group">
<?php require 'lab/pardrop.php'; ?> <!--dropdown list for parnam-->
</select>
<input type="text" name="parval[]" id="parval" class="form-
control" placeholder="Value" >
<button class="btn btn-danger remove" type="button">
<i class="glyphicon glyphicon-remove"></i></button>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-info" type="button" name="btnsamp2"
id="btnsamp2">
</button>
</div>
<!--Ajax code-->
<script>
$(document).ready(function(){
$("#btnsamp2").click(function(){
var parnam=$("#parnam").val();
var parval=$("#parval").val();
$.ajax({
url:'insamp2.php',
method:'POST',
data:{
parnam:parnam,
parval:parval
},
success:function(data){
alert(data);
}
});
});
});
</script>
<!--PHP Code-->
<?php
//insamp2.php
require 'lab/db/dbcon.php';
$num = count($_POST["parnam"]) OR ($_POST["bacnam"]);
$parnam=mysqli_escape_string($con, $_POST['parnam']);
$parval=mysqli_escape_string($con, $_POST['parval']);
if($num > 0){
for($i=0; $i<$num; $i++)
{
if($_POST["parnam"][$i] != '' && $_POST["parval"][$i] )
{
$sql = "INSERT INTO pardtls(parnam,parval) VALUES ('".$parnam[$i]."','".$parval[$i]."')";
mysqli_query($con, $sql);
}
}
echo "Parameter inserted";
}
else
{
echo "Failed inserting data";
}
?>
1条答案
按热度按时间ogq8wdun1#
下面的代码序列化所有相关的输入数组,以便将它们的值传递给php处理程序。
您可以使用以下jquery代码:
或者,您可以将您的
input tags
在<form>
标签。然后使用以下jquery代码:
在php脚本中有一些错误。你在数来袭的元素
$_POST
变数坏的方式。你在做什么
mysqli_real_escape_string(..)
在$_POST
数组值,这将导致错误并将使所需的值为空。在下面的代码中还添加了正确的插入警报。
试试这个更新的php代码。