我在php循环中显示一些mysql记录,而每个记录都有自己的表单。我想在mysql表中上传一些数据,然后在点击所需的提交按钮后显示数据已正确发送的信息。
信息隐藏在两个div中 - “successReport”和“errorReport”
我在PHP中的代码看起来类似于:
while(){
echo '<div class="someRow">
<div>here i display record form mysql table<div>
<div><form>here is my form with submit button</form></div>
<div>here are my submit informations</div>
</div>';
}
数据上传工作正常,但我的问题是 - 点击提交按钮后,信息div显示在所有可见行中,而不是仅显示一行(由我选择)。
这是我在循环中使用的脚本:
<script type="text/javascript">
$(document).ready(function(){
$('.lanparty_<?php echo $oferta['klucz']; ?>').on('submit',function(e) {
$.ajax({
url:'lanpartyZgloszenie.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$(this).next('.successReport').fadeIn('slow');
},
error:function(data){
$(this).next('.errorReport').fadeIn('slow');
}
});
e.preventDefault();
});
});
</script>
任何想法如何解决这个问题?
答案 0 :(得分:1)
为您的successReport和errorReport div / s添加一个id +索引。 正如你在div上所做的那样--- $('。lanparty_')---
脚本上的示例
<script type="text/javascript">
$(document).ready(function(){
$('.lanparty_<?php echo $oferta['klucz']; ?>').on('submit',function(e) {
$.ajax({
url:'lanpartyZgloszenie.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
$(this).next('.successReport<?php echo $oferta['klucz']';?>).fadeIn('slow');
},
error:function(data){
$(this).next('.errorReport<?php echo $oferta['klucz']';?>).fadeIn('slow');
}
});
e.preventDefault();
});
});
</script>
hope my idea could help ..