Используйте javascript для отображения данных из sql в том виде, в котором они набраны в HTML-форме

Я работаю над страницей базы данных SQL для хранения данных, но я застрял в отображении данных из sql по мере их ввода.

Вот как выглядит форма html

Используйте javascript для отображения данных из sql в том виде, в котором они набраны в HTML-форме

Теперь на изображении выше поля «Группа моделей» и «Вариант модели» доступны только для чтения. Теперь я хочу заполнить две формы, как только наберу номер VIN. Введенный номер vin уже хранится в базе данных sql. Может ли кто-нибудь подсказать, какой код мне следует использовать или какие-то справочные документы? Поиск Google не очень помог с этим. Если вам нужно, база данных sql выглядит так:

Используйте javascript для отображения данных из sql в том виде, в котором они набраны в HTML-форме

Мне кажется, что вам нужно отправить набранный VIN во внутреннее приложение, чтобы оно могло получить данные для VIN из БД. Чтобы сделать это со своей веб-страницы, вы захотите сделать AJAX-вызов серверного приложения, а затем проанализировать ответ, когда он вернется. Итак, я бы поискал, как реализовать вызовы AJAX - там должно быть много информации (начните с w3schools.com).

RobertFrenette 17.10.2018 09:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
1
1 151
3

Ответы 3

Если вы хотите, чтобы пользователь записал ввод:

Первое, что нужно сделать, это записать в select все значения vin и сохранить их в качестве входных данных для HTML-тега data-list.

Затем вы можете использовать приведенный ниже код (вместо тега ввода, который вы используете сейчас):

<input list = "vinData" name = "vinValue" required>
  <datalist id = "vinData">
    <option value = "89841321">
    <option value = "546123">
    <option value = "213134984">
  </datalist>

Вы должны сделать option, используя PHP с циклом


Или вы можете просто использовать тег html select. Таким образом, пользователь не может ничего писать и должен выбрать один из вариантов.

<select>
  <option value = "89841321">89841321</option>
  <option value = "546123">546123</option>
  <option value = "213134984">213134984</option>
</select>

Вам нужно выполнить запрос ajax при событии размытия винно.

$('body').on('.vin-no','blur', function(){
   $.ajax({
        type:'post',
        dataType:'json',
        url: 'server.php',
        data: {vinno: $(this).val()}
        success: function(response){
            $('.model-group').val(response.modelgroup);
            $('.model-variant').val(response.modelvariant);
        }
   });
})

Также, как сказал @ali, это должен быть список выбора, чтобы пользователь мог выбрать одно из существующих значений. Если вы используете 'select', вы можете сделать событие 'blur' событием 'change'. Я использовал вызовы jquery ajax, и запрос ajax должен выполняться на стороне сервера.

Как написал @RobertFrenette (и если я не понимаю, чего вы пытаетесь достичь), для этого потребуется несколько сценариев связи между передним HTML - через AJAX в PHP - от PHP до SQL - и все обратно в пользовательскую HTML-форму. Попробуйте этот подход

1 Вызов ajax для отправки пользовательского ввода (номер vin)

HTML код:

<input type = "text" id = "vin-input">
<input type = "text" id = "model-group" disabled>
<input type = "text" id = "model-varient" disabled>


enter code here

Код Javascript (с jQuery):

//When only user change VIN number call this function.
$("#vin-input").keyup(function( event ){
  var input = $(this).val();

  //Regex validate to prevent AJAX request when not needed.
  //@todo change regex to your VIN schema.
  var properInput = new RegExp('^[0-9]{6,}$');
  if (properInput.test(input)) {
            
    //@todo remove this
    alert(input + " ok - send ajax");
    //Send AJAX to PHP script.
    //@todo change "get-vin.php" to your PHP script name.
    $.post( "get-vin-data.php", {"vin": input})
      .done( function( data ) {
        //Handle data returning from PHP script.
        //@todo parse returning data and put it into form.
        $( "#model-group" ).val( "model 45" );
        $( "#model-varient" ).val( "varient 45" );
      })
      .fail(function() {
        //Handle failure of AJAX call (here it will always fail).
        $( "#model-group" ).val( "model 45" );
        $( "#model-varient" ).val( "varient 45" );
      });
  }
})

Вы можете увидеть соответствие регулярных выражений, так как вам следует попытаться повысить производительность и проверить номер vin, чтобы вызывать AJAX только тогда, когда это необходимо. Вы должны изменить регулярное выражение, чтобы соответствовать вашей схеме VIN.

Скрипка переднего конца

2 Получите данные в бэкэнде и вернитесь к своему скрипту

Эту часть я должен оставить вам. Ты должен:

  • create script (в моем примере он называется get-vin-data.php, но вы можете называть его как хотите и с любой используемой вами технологией.
  • Он должен возвращать информацию в ваш пользовательский скрипт - как можно меньше и проще, например. JSON {model-group: "group 32", model-varient: "reddish"}.
  • Добавьте эти данные в соответствующие входные данные в HTML - в примере JS это часть кода //@todo parse returning data and put it into form..

Удачи.

Другие вопросы по теме