Форма AMP - ввод [значение] не разрешает функцию concat () - PullRequest
1 голос
/ 10 апреля 2020

В AMP Form я пытаюсь заполнить скрытое поле ввода, основываясь на ответе формы. Ответ является массивом внутри объекта JSON. Когда я пытаюсь вставить информацию в атрибут div [text], это работает. Но в атрибуте input [value] это не так.

Вот мой пример кода:

<form method="post" action-xhr="submit.php" target="_top"
    on="submit-success: AMP.setState({answer:{display:event.response.answer}})">

    <div id="response" [text]="answer.display.concat()"></div>

    <input type="text" name="answer" value="" required>
    <input type="hidden" name="active" value="" [value]="answer.display.concat()" />

    <input type="submit" value="Submit" />

</form>

После отправки div с id "response" отобразит event.response.answer информация, но значение скрытого ввода не изменится.

Однако, если я заменю переменную answer.display на строку вместо массива, значение ввода будет работать. Например, это работает как ожидалось:

<form method="post" action-xhr="submit.php" target="_top"
    on="submit-success: AMP.setState({answer:{display:'foobar'}})">

    <div id="response" [text]="answer.display"></div>

    <input type="text" name="answer" value="" required>
    <input type="hidden" name="active" value="" [value]="answer.display" />

    <input type="submit" value="Submit" />

</form>

Так почему же concat() не работает внутри атрибута value ввода, даже если он будет работать с атрибутом text элемента div?

И, может быть, более важно, как я могу использовать ответ формы в моей форме, чтобы она могла быть отправлена ​​снова?

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