/
githubmirror
/
amphtml
Обзор
Документация
Войти
/
githubmirror
/
amphtml
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
examples/amp-form.ssr.html
316 строк
10 KB
Caroline Liu
Apply bulk transform to html tags (#34836)
15 июн 2021, 21:07
Не верифицирован
15 июн 2021, 21:07
3ace35c
Код
Авторство
О чём код?
<!doctype html> <html ⚡ allow-viewer-render-template lang="en"> <head> <meta charset="utf-8"> <title>Forms Examples in AMP</title> <link rel="canonical" href="//example.com" > <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> <script async src="https://cdn.ampproject.org/v0.js"></script> <script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script> <script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.1.js"></script> <style amp-custom> input.user-invalid { background-color: #dc4e41; } input.user-valid { background-color: #4CAF50; } fieldset.user-invalid { border: 3px solid #dc4e41; } fieldset.user-valid { border: 3px solid #4CAF50; } form .form-message { display: none; } form.user-invalid .invalid-message { display: block; color: #dc4e41; } form.user-valid .valid-message { display: block; color: #4CAF50; } form.amp-form-submitting .submitting-message { display: block; color: #919191; } form.amp-form-submit-success [submit-success] { color: #0000ff; } form.amp-form-submit-error [submit-error] { color: #dc4e41; } .verification-form label { display: block; } .spinner, .spinner:after { border-radius: 50%; width: 18px; height: 18px; } .spinner { visibility: hidden; margin: 5px; border: 9px solid rgba(0, 0, 0, 0.3); border-left-color: #fff; animation: spin 1.1s infinite linear; } .amp-form-verifying .spinner { visibility: visible; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .lightbox { background: rgba(0,0,0,.8); } .lightbox-content { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: center; color: white; } #poll1 li { position: relative; padding: 1em; list-style: none; margin: 0; display: block; height: 20px; } #poll1.amp-form-submit-success fieldset { display: none; } .percentage-container { z-index: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .one-pc { width: 1%; height: 100%; display: inline-block; } .Wekas .one-pc { background: #dc4e41; } .Penguins .one-pc { background: #3f51b5; } .Ostriches .one-pc { background: #4CAF50; } .Kiwis .one-pc { background: #00ffff; } .poll1-results .title { z-index: 1; color: black; position: absolute; } amp-selector [option] { box-sizing: border-box; display: inline-block; position: relative; } amp-selector[disabled], amp-selector [disabled] { opacity: .20; } </style> </head> <body> <h4>Search (GET non-xhr same origin)</h4> <form method="get" action="/form/search-html/get" target="_blank"> <fieldset> <label> <span>Search for</span> <input type="search" name="term" required> </label> <input type="submit" value="Search"> </fieldset> </form> <h4>Search (GET non-xhr cross origin - current host > httpbin.org)</h4> <form method="get" action="https://httpbin.org/html" target="_blank"> <fieldset> <input name="clientId" type="hidden" value="CLIENT_ID(poll)" data-amp-replace="CLIENT_ID"> <input name="canonicalUrl" type="hidden" value="RANDOM and CANONICAL_URL" data-amp-replace="CANONICAL_URL RANDOM"> <label> <span>Search for</span> <input type="search" name="term" required> </label> <input type="submit" value="Search"> </fieldset> </form> <amp-lightbox id="photo-slides"></amp-lightbox> <h4>Search (GET xhr same origin)</h4> <form id="xhr-get" method="get" action="/form/search-html/get" action-xhr="/form/search-json/get" target="_blank"> <fieldset> <label> <span>Search for</span> <input type="search " name="term" required> </label> <input type="submit" value="Search"> </fieldset> <a on="tap:xhr-get.submit">link</a> <div submitting> <span>Submitting form...</span> </div> <div submit-success> <template type="amp-mustache"> <h1>Here are the results for the search:</h1> <ul> {{#results}}<li>{{title}}</li>{{/results}} </ul> </template> </div> <div submit-error> <template type="amp-mustache"> <h1>Failed</h1> <ul> Search for {{search}} failed. Please try again later. </ul> </template> </div> </form> <h4>Search (GET xhr cross origin current host > httpbin.org)</h4> <form method="get" action="https://httpbin.org/response-headers" action-xhr="https://httpbin.org/response-headers" target="_blank"> <fieldset> <input name="clientId" type="hidden" value="CLIENT_ID(poll)" data-amp-replace="CLIENT_ID"> <input name="canonicalUrl" type="hidden" value="RANDOM and CANONICAL_URL" data-amp-replace="CANONICAL_URL RANDOM"> <label> <span>Search for</span> <input type="search" name="term" required> </label> <input type="submit" value="Search"> </fieldset> <div submit-success> <template type="amp-mustache"> <h1>You searched for: {{term}}</h1> </template> </div> </form><form method="get" action="https://httpbin.org/response-headers" action-xhr="https://httpbin.org/response-headers" target="_blank"> <fieldset> <input name="clientId" type="hidden" value="CLIENT_ID(poll)" data-amp-replace="CLIENT_ID"> <input name="canonicalUrl" type="hidden" value="RANDOM and CANONICAL_URL" data-amp-replace="CANONICAL_URL RANDOM"> <label> <span>Search for</span> <input type="search" name="term" required> </label> <input type="submit" value="Search"> </fieldset> <div submit-success> <template type="amp-mustache"> <h1>You searched for: {{term}}</h1> </template> </div> </form> <h4>Subscribe to our weekly Newsletter (POST xhr same origin)</h4> <form method="post" action-xhr="/form/echo-json/post" target="_blank"> <fieldset> <input name="clientId" type="hidden" value="CLIENT_ID(poll)" data-amp-replace="CLIENT_ID"> <input name="canonicalUrl" type="hidden" value="RANDOM and CANONICAL_URL" data-amp-replace="CANONICAL_URL RANDOM"> <label> <span>Your name</span> <input type="text" name="name" id="name1" required> </label> <label> <span>Your email</span> <input type="email" name="email" id="email1" required> </label> <input type="submit" value="Subscribe"> </fieldset> <div submitting> <template type="amp-mustache"> Please wait, {{name}}. </template> </div> <div submit-success> Success! Thanks for subscribing! Please make sure to check your email to confirm! </div> <div submit-error> <amp-img width="32" height="32" src="/examples/x-icon.png"></amp-img> Oops! We apologize, something went wrong. Please try again later. </div> </form> <h4>Subscribe to our weekly Newsletter (xhr POST cross origin - current host > amp.localhost:8000)</h4> <form method="post" action-xhr="http://amp.localhost:8000/form/echo-json/post" target="_blank"> <fieldset> <input name="clientId" type="hidden" value="CLIENT_ID(poll)" data-amp-replace="CLIENT_ID"> <input name="canonicalUrl" type="hidden" value="RANDOM and CANONICAL_URL" data-amp-replace="CANONICAL_URL RANDOM"> <label> <span>Your name</span> <input type="text" name="name" id="name2" required> </label> <label> <span>Your email</span> <input type="email" name="email" id="email2" required> </label> <input type="submit" value="Subscribe"> </fieldset> <div submit-success> <template type="amp-mustache"> Success! Thanks {{name}} for subscribing! Please make sure to check your email {{email}} to confirm! </template> </div> <div submit-error> <template type="amp-mustache"> Oops! {{name}}, We apologies something went wrong. Please try again later. </template> </div> </form> </body> </html>