0
У меня есть несколько форм на одной странице. Все формы используют Ajax для отправки данных на PHP и тех же имен классов. Я пытаюсь отправить форму, она работает, но div.error отображается в первой форме. Я имею в виду, когда я отправлю 5-ю форму, ошибка будет показана в первой форме.Несколько форм на странице, Ajax показывает ошибку в неправильной форме
<?php
$sql = "SELECT * FROM `table` WHERE `datetime` BETWEEN '"$day1" 07:00:00' AND '"$day2" 06:59:59'";
$query = mysql_query($sql);
while($result=mysql_fetch_assoc($query)){ ?>
<form method="post" action="process.php" id="<?php echo $result["id"];?>">
<div id="error"></div>
<h4>Select</h4><label class="col-xs-5 btn btn-info btn-sm"><input type="radio" name="team" id="team" value="A" required>A</label>
<label class="col-xs-5 col-xs-offset-2 btn btn-danger btn-sm"><input type="radio" name="team" id="team" value="B" required>B</label>
Point <input type="input" id="point" name="point" placeholder="Point" size="8">
<button type="submit" class="btn btn-success login-bt" id="<?php echo $result["id"];?>"><i class="fa fa-sign-in"></i>Submit</button>
<img id="loading" src="images/ajax-loader.gif" alt="working.."/>
</form>
<?php } ?>
JQuery Часть
<script type="text/javascript">
$(document).ready(function() {
$("form").submit(function() {
hideshow('loading',1);
error(0);
var formID = $(this).attr('id');
var formDetails = $('#'+formID);
$.ajax({
type: "POST",
url: 'process.php',
data: formDetails.serialize(),
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
window.location=msg.txt;
}
else if(parseInt(msg.status)==0)
{
error(1,msg.txt);
}
hideshow('loading',0);
}
});
return false;
});
});
function hideshow(el,act)
{
if(act) $('#'+el).css('visibility','visible');
else $('#'+el).css('visibility','hidden');
}
function error(act,txt)
{
hideshow('error',act);
if(txt) $('#error').html(txt);
}
</script>
<style type="text/css">
#loading{
left:10px;
position:relative;
top:3px;
visibility:hidden;
}
#error{
margin: 10px 10px 0px;
padding: 10px 5px;
border-radius: 5px;
background-color:#ffebe8;
border:1px solid #dd3c10;
padding:7px 3px;
text-align:center;
visibility:hidden;
}
</style>
PHP Часть
<?php
include("include/database.php");
if(empty($_POST['team']) || empty($_POST['point']))
{
die(msg(0,"Please Fill in the form"));
}
if(empty($_COOKIE['id']) || empty($_COOKIE['email']) || empty($_COOKIE['password']) || empty($_COOKIE['displayname']))
{
die(msg(0,"Please Login"));
}
// echo msg(1,"/Done.php");
$sql = "INSERT INTO SQL";
$sqlquery = mysql_query($sql) or die(mysql_error());
echo msg(1,"Done");
function msg($status,$txt)
{
return '{"status":'.$status.',"txt":"'.$txt.'"}';
}
?>
Как я могу показать ошибки при определенной форме, которая была представлена? Любая помощь будет принята с благодарностью. Большое спасибо
Div Id должен быть уникальным в каждом виде. И в соответствии с формой вам нужно отобразить ошибку внутри этого Div. –
Я не хочу, чтобы цикл