AMP4EMAIL:从模板中的状态设置表单值

时间:2019-12-06 22:47:19

标签: amp-html amp-bind amp-email amp-mustache amp-form

amp-bind模板中使用amp-mustache时,我似乎无法通过[value]属性动态设置表单输入字段的值。仅在Gmail客户端中会发生此问题。它可以在Gmail Amp Playground和浏览器中正常运行。 Gmail客户端仅发生此问题。它可以在Gmail Amp Playground(我认为应该反映Gmail客户端的行为)和浏览器中正常工作。

here的摘要与人为设计的客户端代码版本相同。

非常感谢任何建议/解决方法!

虽然可能不需要,但这是服务器端逻辑:

        public class TestRequestModel {
            public string TestId { get; set; }
        }
        private string ValidId = "correct";
        [HttpPost]
        public async Task<IActionResult> TestGetId([FromForm]AEGetRepresentativesRequestModel requestModel)
        {
            AddRequiredAmpHeaders();
            if (requestModel == null)
            {
                return BadRequest(new {});
            }
            return Ok(new TestRequestModel { TestId = ValidId });
        }
        [HttpPost]
        public async Task<IActionResult> TestUseId([FromForm]TestRequestModel requestModel)
        {
            AddRequiredAmpHeaders();
            if (requestModel == null)
            {
                return BadRequest(new {});
            }
            if (requestModel.TestId != ValidId)
            {
                return BadRequest(new { Error = $"Invaild id: {requestModel.TestId}" });
            }
            return Ok(new { TestId = ValidId });
        }

1 个答案:

答案 0 :(得分:0)

更新:似乎还有一个second bug in Gmail仍在影响这一点。

这是由Gmail中的一个错误引起的,该错误与event.response结合使用时干扰AMP.setState的工作方式。我刚刚检查了一下,现在看来它已修复,因此您的代码应该可以使用。