В настоящее время у меня есть веб-страница, которая отлично работает. Я выбираю свой номер загрузки, и запрос ajax получает информацию и помещает результаты в текстовые поля. Страница разделена, одна часть отображает информацию, но когда выбрана «печать», она форматирует результаты печати листа пузырьков.
Вот проблема. Вместо того, чтобы отображать результаты «On Screen» в текстовых окнах, я бы скорее просто отображал их как обычный текст.
Активная страница расположена по этому адресу
Код поиска довольно длинный, вот образец.
<script> $(document).ready(function(){ /* PREPARE THE SCRIPT */ $("#loads").change(function(){ /* TRIGGER THIS WHEN USER HAS SELECTED DATA FROM THE SELECT FIELD */ var loadnumber = $(this).val(); /* STORE THE SELECTED LOAD NUMBER TO THIS VARIABLE */ $.ajax({ /* START AJAX */ type: "POST", /* METHOD TO USE TO PASS THE DATA */ url: "actionprt.php", /* THE FILE WHERE WE WILL PASS THE DATA */ data: {"loadnumber": loadnumber}, /* THE DATA WE WILL PASS TO action.php */ dataType: 'json', /* DATA TYPE THAT WILL BE RETURNED FROM action.php */ success: function(result){ /* PUT CORRESPONDING RETURNED DATA FROM action.php TO THESE TEXTBOXES */ for (i = 1; i < 14; i++) { $("#prtDescription" + i).val(""); $("#prtMethod" + i).val(""); $("#prtPONumber" + i).val(""); $("#prtGallons" + i).val(""); $("#prtAmount" + i).val(""); } $("#NumberStops").val(result.NumberStops); $("#ShipperName").val(result.CustomerName); $("#prtship").val(result.CustomerName); $("#ShipperAddr1").val(result.CustomerAddress); $("#ShipperAddr2").val(result.CustomerAddress2); $("#ShipperCity").val(result.CustomerCity); $("#prtshipcity").val(result.CustomerCity); $("#ShipperState").val(result.CustomerState); $("#prtshipstate").val(result.CustomerState); $Phone = result.CustomerPhone $Phone = '(' + $Phone.substring(0,3) + ') ' + $Phone.substring(3,6) + '-' + $Phone.substring(6,10) $("#ShipperPhone").val(result.CustomerPhone); $("#ShipperContact").val(result.CustomerContact); $("#PickupDate").val(result.PickupDate); $("#prtdate").val(result.PickupDate); $("#PickupTime").val(result.PickupTime); $("#CustomerPO").val(result.CustomerPO); $("#Weight").val(result.Weight); $("#prtweight").val(result.Weight); $("#Pieces").val(result.Pieces); $("#prtpieces").val(result.Pieces); $("#BLNumber").val(result.BLNumber); $("#prtbol").val(result.BLNumber); $("#TrailerNumber").val(result.TrailerNumber); $("#prttrailer").val(result.TrailerNumber);
…
Я попробовал document.write (), но очистил страницу, которая не то, что я ищу. Я хочу сохранить свои изображения и поле выбора combobox на странице, чтобы я мог выбирать другие нагрузки, когда это необходимо, а не только по одному.
Пожалуйста, помогите …. Если вам требуется дополнительная информация, чтобы ответить на вопрос, спросите, и я отправлю.
Почему бы просто не создать новый div после выбора загрузки и просто добавить в него все эти результаты?
Существуют различные варианты использования Ajax в соответствии с вашими требованиями. Вы можете заменить Entire div новыми данными или HTML-кодом целиком или вы можете изменить выбранную часть самостоятельно. Это зависит от вас, кто должен выбрать подходящий метод, который вам будет легко.
Вот доступные методы:
Способ 1:
function testAjax(handleData) { $.ajax({ type: 'POST' url:"yourpostpage.php", data: "&s=1", success:function(data) { handleData(data); } }); }
Этот вышеописанный метод заменит успех Ajax данными, доступными после завершения процесса.
Способ 2:
function testAjax(handleData) { $.ajax({ type: 'POST' url:"yourpostpage.php", data: "&s=1", success:function(html) { handleData(html); } }); }
Вышеупомянутая функция заменит весь успех div новой частью HTML.
Теперь я проиллюстрирую это простым примером того, как заменить div, используя PHP и HTML, используя AJAX.
Сценарий: пользователь должен выбрать город, а данные города будут загружены в Ajax.
HTML:
<select name="city" onchange="selectcity(this.value)"> <option value="">Please Select</option> <option value="1">USA</option> <option value="2">Europe</option> </select> <div id="ajax_output"> </div>
Выбирая город, он загружает функцию, используя атрибут onchange
в jQuery, и будет передан Ajax.
JS:
function selectcity(a) { $.ajax({ type: 'POST' url:"yourpostpage.php", data: "&city="+a, success:function(html) { $('#ajax_output').html(html); } }); }
В JS я получаю выбранное значение с помощью a
поскольку я передал параметр функции и передал ее на страницу Ajax.
Ajax Страница:
Примечание. Убедитесь, что если вы собираетесь отобразить информационную форму БД, вам необходимо подключить файл БД к странице Ajax.
<?php $city_id = $_POST['city']; // Jquery Data that i am retriving on Ajax Page $select="SELECT * FROM TABLENAME WHERE `city_id`='".$city_id."'"; $query = $con->query($select); $count = $query->num_rows; if($count==0) { echo 'No Data Found'; } else { while($fetch = $query->fetch_assoc()) { ?> <div class="col-sm-6"> <label>City</label> <span><?php echo $fetch['city_name']; ?></span> </div> <div class="col-sm-6"> <label>Place</label> <span><?php echo $fetch['place']; ?></span> </div> <?php } } ?>
Теперь в моем примере я собираюсь заменить div #ajax_output
содержимым, которое собирается со страницы Ajax.
В соответствии с запросом, сделанным в вопросе, я надеюсь, что это будет самый простой способ, чтобы PHP выполнялся быстрее по сравнению с JS, а ошибки также были минимальными при использовании этого метода.
Надеюсь, мои объяснения будут ясны для вас, и если вы столкнетесь с каким-либо препятствием в развитии, позвольте мне поделиться мыслями, и я дам вам решение.
Счастливое кодирование 🙂