Framework7 - API JavaScript de armazenamento de formulário
Descrição
O armazenamento de formulários pode ser obtido usando a API JavaScript. Aqui, o Framework7 invoca formToJSON em qualquer alteração de entrada e formFromJSON no evento pageInit . Todos os dados de formulários são armazenados em armazenamento local com chaves. Os métodos do aplicativo para gerenciar essas chaves de armazenamento local com dados de formulário estão listados abaixo -
S.Não | Classes e descrição | Parâmetros |
---|---|---|
1 | myApp.formGetData(formId) Ao abrir uma animação, este evento será disparado. |
|
2 | myApp.formDeleteData(formId) Quando a abertura de uma animação for concluída, este evento será disparado. |
|
3 | myApp.formStoreData(formId, formJSON) Quando você fecha uma animação, este evento é disparado. |
|
Exemplo
O exemplo a seguir demonstra o uso da API JavaScript de armazenamento de formulário que armazena dados no armazenamento local no Framework7 -
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1,
maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
<meta name = "apple-mobile-web-app-capable" content = "yes" />
<meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
<title>Form storage JavaScript API</title>
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
</head>
<body>
<div class = "views">
<div class = "view view-main">
<div class = "pages">
<div data-page = "home" class = "page navbar-fixed">
<div class = "navbar">
<div class = "navbar-inner">
<div class = "left"> </div>
<div class = "center">Form Storage API</div>
<div class = "right"> </div>
</div>
</div>
<div class = "page-content">
<form id = "myform" class = "list-block store-data">
<ul>
<li>
<div class = "item-content">
<div class = "item-inner">
<div class = "item-title label">Name</div>
<div class = "item-input">
<input type = "text" name = "name" placeholder = "Enter your name">
</div>
</div>
</div>
</li>
<li>
<div class = "item-content">
<div class = "item-inner">
<div class = "item-title label">E-mail</div>
<div class = "item-input">
<input type = "email" name = "email" placeholder = "Enter your e-mail">
</div>
</div>
</div>
</li>
<li>
<div class = "item-content">
<div class = "item-inner">
<div class = "item-title label">Gender</div>
<div class = "item-input">
<select name = "gender">
<option value = "male" selected>Male</option>
<option value = "female">Female</option>
</select>
</div>
</div>
</div>
</li>
<li>
<div class = "item-content">
<div class = "item-inner">
<div class = "item-title label">Switch</div>
<div class = "item-input">
<label class = "label-switch">
<input type = "checkbox" name = "switch" value = "yes" />
<div class = "checkbox"></div>
</label>
</div>
</div>
</div>
</li>
</ul>
</form>
<div class = "content-block">
<p><a href = "#" class = "button button-fill button-round color-blue get-storage-data">Get Data</a></p>
<p><a href = "#" class = "button button-fill button-round color-red delete-storage-data">Delete Data</a></p>
<p><a href = "#" class = "button button-fill button-round color-green save-storage-data">Save Data</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
<script>
var myApp = new Framework7();
var $$ = Dom7;
$$('.get-storage-data').on('click', function() {
var storedData = myApp.formGetData('myform');
if(storedData) {
alert(JSON.stringify(storedData));
} else {
alert('Yet there is no stored data for this form. Please try to change any field')
}
});
$$('.delete-storage-data').on('click', function() {
var storedData = myApp.formDeleteData('myform');
alert('Form data is deleted')
});
$$('.save-storage-data').on('click', function() {
var storedData = myApp.formStoreData('myform', {
'name': 'William Smith',
'email': '[email protected]',
'gender': 'male',
'switch': ['yes'],
});
alert('Form data is replaced, refresh the browser to reflect the changes')
});
</script>
</body>
</html>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -
Salve o código HTML fornecido acima como forms_storage_javascript.html arquivo na pasta raiz do servidor.
Abra este arquivo HTML como http: //localhost/forms_storage_javascript.html e a saída é exibida conforme mostrado abaixo.
Quando você insere os detalhes no formulário e clica no botão 'Obter dados', todos os valores dos seus campos serão convertidos para o formato JSON e exibidos para você.
Quando o botão 'Salvar dados' é clicado, os dados do formulário são salvos no armazenamento local.
Quando o botão 'Excluir dados' é clicado, todos os dados do formulário são excluídos.