не могу получить сериализацию для работы с javascript сгенерированными входными полями - PullRequest
0 голосов
/ 17 июня 2020

Я использую jQuery serialize(). Но в этом случае он не собирает мои поля ввода, созданные с помощью некоторого кода JavaScript на вызываемой странице PHP в $(document).ready(function (). Я сделал предупреждение, но поля ввода не были в строке JSON.

Вызов serialize() выполняется действием отправки.

Я пробовал оба варианта, но ни один из них не работал.

var dataString = $( "input" ).serialize();          
var dataString = $(this).serialize().replace(/\'/g,'\\\'');                     

Я предполагаю, что это потому, что они генерируются во время выполнения.

Любая помощь приветствуется.

var url = "../js/contactmail.php";
var dataString = $(this).serialize().replace(/\'/g,'\\\'');                     
$.ajax({
    type: "POST",
    url: url,
    data: dataString,
    success: function (data) {
        var arraydata = $.parseJSON(data);           
    }
});

Код, автоматически сгенерированный JavaScript во время выполнения :

<div class="col-md-12">
    <input data-prefix="thé" data-suffix="tea" id="tea" type="number" value="0"
           min="0" max="10" step="1" style="display: none;">
    <div class="input-group  ">
        <div class="input-group-prepend">
            <button style="min-width: 2.5rem" class="btn btn-decrement btn-outline-secondary" type="button">
                <strong>-</strong>
            </button>
            <span class="input-group-text">thé</span>
        </div>
        <input type="text" inputmode="decimal" style="text-align: center" class="form-control " placeholder="" />
        <div class="input-group-append">
            <span class="input-group-text">tea</span>
            <button style="min-width: 2.5rem" class="btn btn-increment btn-outline-secondary" type="button">
                <strong>+</strong>
            </button>
        </div>
    </div>
</div>

1 Ответ

0 голосов
/ 17 июня 2020

Хорошо ... после некоторых проб и ошибок я понял, что serialize () использует атрибут HTML name, а не атрибут ID. Итак, ответ должен включать name = 'tea'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...