Публикация статической формы без полей ввода

#javascript #c# #web

#javascript #c# #веб

Вопрос:

Я очень новичок в веб-разработке и смущен отправкой данных моей формы. Я знаю, как отправлять и извлекать данные при использовании тега в моем html и переносе в в , но в этом случае у меня есть статическая HTML-страница, отображающая данные в таблицах, где пользователь может редактировать и модифицировать ввод таблицы. Как мне опубликовать значения в этой форме, если ни одно из полей не имеет типа input?

Комментарии:

1. вы можете создать скрытые поля ввода во время выполнения с помощью javascript и добавить их в элемент формы или использовать ajax

2. Вы можете использовать Ajax для отправки данных на сервер. Мне просто любопытно, если у вас нет элементов «ввода», были ли сохранены ваши данные? Можете ли вы получить доступ к этим данным из JS? Если вы можете, выполнение запроса ajax (или даже использование fetch api, если вы ориентируетесь на современные браузеры) должно быть легко достижимым.

Ответ №1:

Вы можете публиковать данные формы с помощью javascript, если вы генерируете данные на лету. В jQuery есть функция Ajax, которая упрощает этот процесс. Например.,

     function post_form_data() {
        var data = {
            data1: "something,
            data2: "something else"
        };
        var url = "https://someurl.com/api/v1/etc";

        $.ajax({
            type: "POST",
            url: url,
            data: data,
            success: function() {
               // do something, like transition to 
               // a different page or something
            },
       });
    }
  

Вызывайте post_form_data() всякий раз, когда вы хотите опубликовать. На практике вы можете включать данные формы в параметры функции или извлекать их из других источников.

Чтобы увидеть все подробные инструкции по ajax, пожалуйста, ознакомьтесь с документацией jQuery Ajax.

Ответ №2:

Нажав на кнопку javascript, вы можете создать форму и отправить ее:

 let form = document.createElement('form');
form.action = 'http://yourdomain/youraction';
form.method = 'POST';

form.innerHTML = '<input name="inputs" value="test">';

// the form must be in the document to submit it
document.body.append(form);

form.submit();
  

Вместо проверки входного значения укажите здесь значение JSON.

Это приведет к отправке формы по указанному URL.

Надеюсь, это поможет.