2016-04-29 14 views
-1

JavaScriptを初めて使用しています。登録フォームから成るレストランアプリを作っています。私は、ユーザー名が既に存在するかどうかを確認したいのですが、存在すれば、ボタンをクリックするとユーザーに警告が表示されます。JavaScriptを使用してSQLiteにユーザ名が既に存在するか確認してください。

JavaScriptコード:

<script type="text/javascript"> 
var db; 
var shortname="R_loginDB"; 
var version = "1.0"; 
var displayName = "R_loginDB"; 
var maxSize = 90000; 

function onBodyLoad() { 
    db = openDatabase(shortname,version,displayName,maxSize); 
    db.transaction(function(tx){ 
     tx.executeSql('CREATE TABLE IF NOT EXISTS R(UserName TEXT NOT NULL PRIMARY KEY,Password TEXT NOT NULL,ConPassword TEXT NOT NULL)'); 
    }); 
} 

function ListDBValues() { 
    if (!window.openDatabase) { 
     alert('Databases are not supported in this browser.'); 
     return; 
    } 

    $('#output').html(''); 

    db.transaction(function(transaction) { 
     transaction.executeSql('SELECT * FROM R;', [], function(transaction, result) { 
      if (result != null && result.rows != null) { 
       for (var i = 0; i < result.rows.length; i++) { 
        var row = result.rows.item(i); 
        $('#output').append('<br>' + ' ' + row.UserName+ ' ' + row.Password + ' '+ row.ConPassword); 
       } 
      } 
     }); 
    }); 

    return; 
} 

ListDBValues(); 

function AddValues() { 
    var flag = false; 
    if ($("#pass").val() != $("#conpass").val()) { 
     alert("Passwords do not match."); 
     window.location.href = "r_register.html"; 
    } else if (flag == false) { 
     try { 
      db.transaction(function(transaction) { 
       transaction.executeSql('INSERT INTO R(UserName, Password, ConPassword) VALUES (?,?,?)',[$('#uname').val(),$('#pass').val(),$('#conpass').val()]); 
      }); 
      flag = true; 
      window.location.href = "login.html"; 
     } catch(err) { 
      alert("Username " + $("#uname").val() + " is already taken!! Please chose another one"); 
      window.location.href = "r_register.html"; 
     } 
    } 
} 

AddValues(); 
</script> 

HTMLコード:

<body onload="onBodyLoad()"> 
<div id="main"> 
    <img id="bg" src="file:///android_asset/www/images/bigtable_1_blur.jpg"/> 

    <input id="uname" type="text" placeholder=" Username"></input> 
    <input id="pass" type="password" placeholder=" Password"></input> 
    <input id="conpass" type="password" placeholder=" Confirm Password"></input> 
    <a href="login.html"><p id="login"><b>Already have an account?<i><u>Login</u></i></b></p></a> 

    <!-- <a href="second.html"> --> 
    <input id="btn" type="button" value="Register" onclick="AddValues()"></input><br/> 

    <!-- </a> --> 
    <input id="btn2" type="button" value="show" onclick="ListDBValues()"/></input> 

    <span id="output"></span> 
</div> 
</body> 

答えて

2

WebSQL APIが廃止予定されています。現在サポートしていないプラットフォームではサポートされることはほとんどなく、そうしたプラットフォームからは削除される可能性があります。

代わりにlocalStorageを使用してみてください。詳細はCordova storage documentation

+0

ありがとうございます。ユーザーが存在するかどうかを確認するために使用している方法は適切ですか?それを行う他の方法がありますか?助けてください –

+1

@chanchalpardeshiはこのリンクかもしれません[http://stackoverflow.com/questions/26085181/cordova-websql-onsubmit](http://stackoverflow.com/questions/26085181/cordova-websql-onsubmit)あなたを解決します疑念。 –

+0

ありがとうございました。出来た! :) –

関連する問題