У меня есть рабочий код jquery для:
Но - у меня проблема с отображением сообщений, сообщение подтверждения, когда текст не введен, отображается надлежащим образом на конкретную форму div. но сообщение об успешности/сбое не отображается для конкретного div, оно всегда отображается в первой форме div.
$('input[type="submit"]').attr('disabled','disabled');
$('#replytext').keyup(function() {
if($('#replytext').val() != '') {
$('input[type="submit"]').removeAttr('disabled');
}
});
$(document).ready(function(){
//$("#replyForm").submit( function () {
$('#profile-posts-updates').delegate('#replyForm', 'submit', function() {
//if($(this).find('#replytext').val()=='')
if(jQuery(this).children("#replytext").val()=='') { $(this).next('#replyerror').html('Write your message to post!').css("color","red"); return false;}
//$('#imgbtn').show();
//$('#post').hide();
$.post(
'Process.php?in=DataHandler',
$(this).serialize(),
function(data){
if(data === 'Success'){
$('#replytext').val('');
//jQuery(this).children("#replytext").val('');
//$("#postbox").fadeOut(50);
//$("#postbtn").fadeIn(400);
$("#replyerror").html('Your message has been successfully posted !').css("color","green");
//$(this).children("#replyerror:first").html('Write your message to post!').css("color","red");
}else{
$("#replyerror").html('There was some problem please try again!').css("color","red");
}
//$('#imgbtn').hide();
//$('#post').show();
}
);
return false;
});
});
Здесь, где (часть) ваша проблема
"множественные формы с одинаковым идентификатором"
Каждый элемент HTML DOM ДОЛЖЕН иметь уникальный идентификатор, иначе он недействителен HTML
id
должен быть уникальным, в противном случае используйте class
. Кстати - jQuery распознает только первый экземпляр id
.
multiple forms having same id
атрибутmultiple forms having same id
-> id, должны быть уникальными в DOM.