问题一:我的登录表单验证使用的是Angularjs的方法,在input中需要绑定ng-model才能实现验证。我使用localstorage存的用户名,想使用value=“{{}}”的方式显示,但是问题来了,value和ng-model有冲突,想验证就不能显示,想显示就能验证。
输入框以及验证的html部分代码:
<li id="offCanvas_switch1" class="mui-table-view-cell mui-input-clear">
<span class="mui-icon mui-icon-person"></span>
//这里的ng-model和value只能留一个
<input id="username" value=“{{strName}}” ng-model="FormData.username" class="mui-input-clear mui-input" style="max-width: 65%;" type="number" name="username" required ng-minlength="3" ng-maxlength="10" />
<br />
<span class="error" ng-show="form.$dirty && form.username.$invalid" style="color: red;">请输入正确的用户名</span>
</li>
存储以及取值的js部分代码:
angularjs取值:
var myApp = angular.module('myApp', []);
myApp.controller('testController', function($scope) {
strName = localStorage.getItem("username");
$scope.strName = { 'text':localStorage.getItem("username")};
});
点击登录时存储用户名:
document.getElementById("main").addEventListener('tap',function(){
var userName=document.getElementById("username").value;
localStorage.setItem("username", userName);
});
我想找一个解决办法,可以既保留验证,又可以默认显示用户名(即点击登录保存用户名到localsorage然后将用户名在加载body页面时,在用户名框中加载用户名),不知道有没有什么页面初始化 方法么?我觉得可以把从localstorage的值在初始化的时候赋给input就行了。我看了看mui.init()貌似是一个初始化方法,但是试着写了一下没有实现。
问题二:
关于websql的,没有是用过,如果我想把username和password两个字段存到user表里,那我需要做些什么呢?我先创建数据库数据表。
//创建数据库
var db = openDatabase('autoInsuranceDB', '1.0', 'AutoInsurance DB', 10*1024);
//创建数据库中的表
function createtables(){
db.transaction(function (context) {
//业务员表
context.executeSql('CREATE TABLE IF NOT EXISTS users (id unique, username,password)');
之后的插入数据对么?只需要写一句插入就可以了?
//插入数据
context.executeSql('INSERT INTO LOGS (id, username,password) VALUES (1, "帅哥“,”123”);
还是需要再写一个方法,在方法里插入这条数据?
4 个回复
HGDQ
使用HBuild做项目的时候,用到了websql就记录了下来,和大家分享。
《HTML5 Web SQL 的增删改查操作》
缘多多 (作者)
其实我的问题挺简单的
问题一:能否使用angularjs但保全表单验证和记住用户名,或者通过初始化方法中加载用户名。
问题二:websql的操作方法,比如插入。
缘多多 (作者)
问题一已解决:解决办法是在angularjs的控制器中直接给对应的ng-mo赋值。
下面是用户名输入框:
下面是控制器(确认保存到localstorage了):
这样就能实现记住密码了。
缘多多 (作者)
问题二还没有解决,我不太明白websql的保插入方法应该写在哪儿。是写在建数据库建表的那个js文件里,必须写在一起么?之后用的时候在html引入。还是直接写在html的script里也可以?如果是写在html里的话,是否需要声明db之类的,才能用db去点对象?