只提交一条数据的时候,可以正常接收到返回值,并弹窗提示“已成功下单!”,两条或以上就没有提示了,但是数据库是已经写入数据了的。
1,layui form批量提交数据是ajax接收不到返回值;
2,如何避免重复点击按钮后,重复提交数据;
<form class="layui-form" action="" method="post" id="frm1" name="frm1">
<div class="layui-form-item">
<label for="L_email" class="layui-form-label">
<span class="x-red"></span>批量id</label>
<div class="layui-input-inline" style="width:440px">
<textarea id="ids" name="ids" autocomplete="off" class="layui-input" style="width:535px;" readonly ></textarea>
</div>
</div>
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label">
</label>
<button type="button" id="adddata" class="layui-btn" lay-submit lay-filter="add" >提交 </button>
<button type="reset" onclick="formReset()" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
<script>
//提交
form.on('submit(add)', function(data){
$.ajax({
async : false,
url:'./tijiao_do1.php',
method:'post',
data:data.field,
dataType:'JSON',
/* beforeSend: function () {
// 禁用按钮防止重复提交
//$("#adddata").attr({ disabled: "disabled" });
$("#adddata").attr('disabled',true);
$("#adddata").val('正在提交中...');
}, */
success:function(res){
if(res.code=='0'){
layer.msg("已成功下单!",{icon: 1, time: 1000},function(){location.reload();}); //提交成功后刷新页面
}
else
alert(res.msg);
$("#adddata").removeAttr("disabled");
},
error:function (data) {
}
});
return false;
});
</script>
```php
tijiao_do1.php
<?php
$location=$_POST['location'];
$ids = $_POST['ids '];
require './connect_db.php';
$ids =explode("\n",$ids );//分隔换行的数据,如果是逗号隔开的则用$sn=explode(',',$sn);
//$ids =explode(PHP_EOL,$ids );//分隔换行的数据
for($i=0;$i<count($ids );$i++)
if(!empty(trim($ids [$i]))) //判断是否为空
{
if (isset($_POST['location']) && $_POST["location"] == 'A') {
$sql = "INSERT INTO sev_order (
sn) VALUES (
'$ids [$i]') ";
}else if(isset($_POST['location']) && $_POST["location"] == 'B') {
$sql = "INSERT INTO sev_order (
sn) VALUES (
'$ids [$i]')";
}else{
$sql = "INSERT INTO sev_order (
sn) VALUES (
'$ids [$i]')";
}
if($result = $conn->query($sql)){
echo "{".'"code": 0,'. '"msg": "发送成功"'."}"; //这个用来返回成功数据给layui
}else{
echo "失败"; $conn ->error;
}
}
?>
```