Во-первых, вы захотите исправить большую часть вашего HTML.У вас есть много повторяющихся атрибутов ID для различных элементов HTML.Это вызовет много проблем с JavaScript и неправильный синтаксис для HTML.
$html = ""
$id = $row['id'];
if ($row["naslov"] !== null) {
$html .= "<div class='col-6 flex-vcenter-items fs-1'>\r\n";
$html .= "\tNastavi uro\r\n";
$html .= "\t<form id='form-$id' action='update.php?id=$id' method='POST' data-id='$id'>\r\n";
$html .= "\t\t<input id='cas-$id' class='form-control fancy-border' type='text' name='posodobljeni_cas' />\r\n";
$html .= "\t\t<input id='submit-$id' type='submit' value='Posodobi'> <label id='info-$id'></label>\r\n";
$html .= "\t</form>\r\n</div>\r\n";
$html .= "</div>";
echo $html;
} else {
echo " </div>";
}
Здесь вы можете многое увидеть.Сначала мы создаем переменные $html
и $id
, чтобы упростить задачу.Теперь, когда мы вводим данные String в переменную $html
, если мы используем "
(двойные кавычки) для переноса, мы можем просто использовать $id
непосредственно в строке.Мы также будем использовать '
(одинарную кавычку) для переноса всех атрибутов HTML-элемента.
Попробуйте это для своего jQuery:
$(function(){
$("form[id|='form']").on('submit', function(e) {
e.preventDefault();
var form = $(this);
var id = form.data("id");
var cas = $("inptu[id|='cas']", form);
var info = $("input[id|='info']", form);
if(validate()) {
$.ajax({
type: "POST",
url: form.attr("action"),
data: form.serialize(),
dataType: "json"
}).done(function(data) {
if(data.success) {
id.val('');
cas.val('');
info.html('Message sent!').css('color', 'green').slideDown();
} else {
info.html('Could not send mail! Sorry!').css('color', 'red').slideDown();
}
});
}
});
});
Дополнительная информация о селекторе: https://api.jquery.com/attribute-contains-prefix-selector/
Невозможно проверить это, поскольку вы не предоставили область тестирования.Надеюсь, это поможет.