Целью является изменение invioce на основе значения invoice_id, полученного от выбора конкретного счета-фактуры из таблицы списков счетов. Поскольку это форма редактирования, связанные с фактурой детали должны быть предварительно загружены из базы данных.Запуск функции после загрузки значения переменной PHP
Код выглядит следующим образом:
$invoice_id= base64_decode($_REQUEST['invoice_id']);
require_once '../model/invoice.php';
$obj=new Invoice();
$val=mysql_fetch_assoc($obj->getInvoiceDetailsForEdit($invoice_id));
HTML, скрытого текстового поля ввода является: -
<input type="hidden" name="inv_no" id="inv_no" value="<?php echo $invoice_id ?>"/>
Скрипт, который должен быть запущен Симметричного, чтобы получить заранее выбранную категорию является: -
<script>
function getSelectedCategory(inv_no){
if(inv_no!==""){
var request = $.ajax({
url: "../controller/invoice.php",
type: "POST",
data: {inv_no:inv_no,action:'get_selected_category'},
dataType: "json"
});
request.done(function(json_return){
$('#category').val(json_return['category_code']);
});
request.fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
return false;
});
}
}
</script>
код контроллера: -
function getSelectedCategory(){
$inv=$_POST['inv_no'];
require_once '../model/invoice.php';
$obj=new Invoice();
$result=mysql_fetch_assoc($obj->getAllInvoiceDetailsForViewing($inv));
echo json_encode($result);
exit;
}
Все работает отлично, за исключением того факта, что я не знаю, что делать, чтобы запустить скрипт после загрузки переменной php $ invoice_id, поскольку текстовое поле не может принимать события, поскольку это скрытое поле.
Я изменил код, аналогичный приведенному ниже один и нашел, что это работает:
<input type="text" name="inv_no" id="inv_no" value="<?php echo $invoice_id ?> onblur="getSelectedCategory(this.value)"/>
Любые предложения были бы очень полезны !!
Итак, ваша проблема в Javascript, да? –
@MostafaTalebi Yep..Поскольку я получаю намеченный вывод, но скрипт должен работать без onblur или любого события. Я тоже пытался подготовить документ к jquery, но не использовал его, не работая. – Starter