У меня есть страница, где пользователь может создавать дочерние задания в родительском задании, нажимая кнопку «Добавить новый» и вызывая появление новой строки, которую они затем заполняют и сохраняют.Строка имеет автоматически сгенерированный ссылочный номер, который получается путем вызова сценария PHP в другом файле.
Проблема состоит в том, что каждая новая строка имеет одинаковый ссылочный номер, поэтому мне нужен способ убедиться, что этот номеруникальный.Я думал отправить второй параметр в функцию текущего ссылочного номера, чтобы увидеть, совпадает ли он с текущим номером, и, если это так, сгенерировать другое число.Я думал о том, чтобы использовать Ajax.
Я пробовал Ajax, но он ничего не отображает в консоли (чтобы проверить, что он работает).Страница использует MooTools, поэтому я не могу использовать jQuery.Это моя первая попытка Ajax.
Это часть шаблона:
<script id="connectedjobtemplate" type="text/template">
<tr id="childjobrow3" class="odd" data-row-id="3">
<td>
<input data-row-id="3" id="reference[3]" name="childjobid[3][reference]" value="<%= ref %>" class="ref" size="14" style="background-color: transparent; border: none;" />
</td>
</tr>
</script>
Это проверяет щелчок на кнопке Add New и вызывает функцию для добавления новой строки:
$(document.body).addEvent('click:relay(#add-new-row)', function (e, el) {
try{
e.preventDefault();
addChildJobRow();
}catch(e){
.
}
});
Это функция addChildJobRow:
function addChildJobRow() {
try {
lastrow++;
var refNum;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
refNum = this.responseText;
}
};
xhr.open('GET', '<?php echo $this->MJob->getNewJobRef(232); ?>', true);
xhr.onload = function() {
console.log('Test');
};
xhr.send();
//refNum = '<?php echo $this->MJob->getNewJobRef(232); ?>';
Elements.from(connectedjobtemplate({
rownum: lastrow,
cl: cl,
ref: refNum,
nysid: '',
dinNum: '',
warrantNum: ''
})).inject($('newChildJobTable'));
} catch (e) {
.
}
}
На консоли ничего не отображается.Я думаю, что проблема может быть в том, что PHP отправляется в виде URL-адреса в строке xhr.open, но я не знаю достаточно Ajax, чтобы знать, в этом ли проблема.
Заранее спасибо за любыепомощь.