アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のように動作させたいのですが、どのように修正すれば良いでしょうか?
1 1.パスワード入力に入力した値が空白または4文字以下の数字または何も入力されていない場合は再入力となり、正しけれyahooトップへ移動
2 上記1の入力によりmyvalueが空白または4文字以下の数字以外が代入?されている時は<div id=“login>を非表示にして<div id=”relogin>を表示する



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div id = “login”>
<h3>1パスワード入力</h3>
パスワード(4桁の数字) :<input type="password" maxlength="4" id="newvalue" />
<input type="button" value="ログイン" onclick="setValue()"/>
</div>

削除したい値のキー<input type="text" id="deletekey" />
<input type="button" value="削除" onclick="deleteValue()"/>
<input type="button" value="全削除" onclick="deleteAll()"/>
<hr />

<div id = "relogin">
<h3>2パスワード再入力</h3>
パスワード(4桁の数字) : <input type="password" maxlength="4" id="pass" />
<input type="button" value="ログイン" onclick="func1()" />
</div>


<h3>3処理結果</h3>
<div id="result"/>
<script>

var db;
var indexedDB = window.indexedDB || window.mozIndexedDB || window.msIndexedDB;
if (indexedDB) {
var openRequest = indexedDB.open("mydb", 1.0);
openRequest.onupgradeneeded = function(event) {
db = event.target.result;
var store = db.createObjectStore("mystore", { keyPath: "mykey"});
store.createIndex("myvalueIndex", "myvalue", "myvalue2");
}
openRequest.onsuccess = function(event) {
db = event.target.result;
}
} else {
window.alert("このブラウザではIndexed DataBase API は使えません。");
}


function setValue(event) {
var key = "login";
var value = document.getElementById("newvalue").value;
var transaction = db.transaction(["mystore"], "readwrite");
var store = transaction.objectStore("mystore");
var request = store.put({ mykey: key, myvalue: value});
request.onsuccess = function (event) {
key = "";
document.getElementById("newvalue").value = "";
if (document.getElementById("newvalue").value == undefined /* || document.getElementById("newvalue").value == "" */ || document.querySelectorAll("newvalue").length ==0 || document.getElementById("newvalue").value.length > 5 ) {
alert("無効");
} else {location.href = "http://www.yahoo.co.jp";
}

}
}

function deleteValue(event) {
var key = document.getElementById("deletekey").value;
var result = document.getElementById("result");
result.innerHTML = "";
var transaction = db.transaction(["mystore"], "readwrite");
var store = transaction.objectStore("mystore");
var request = store.delete(key);
request.onsuccess = function (event) {
result.innerHTML = "削除しました。";
}
}

function deleteAll(event) {
var result = document.getElementById("result");
result.innerHTML = "";
var transaction = db.transaction(["mystore"], "readwrite");
var store = transaction.objectStore("mystore");
var request = store.clear();
request.onsuccess = function (event) {
result.innerHTML = "クリアしました。";
}
}

function func1(event) {
var str1 = document.getElementById("pass").value;
var key = "login";
var result = document.getElementById("result");
result.innerHTML = "";
var transaction = db.transaction(["mystore"], "readwrite");
var store = transaction.objectStore("mystore");
var request = store.get(key);
request.onsuccess = function (event) {
if (event.target.result === undefined) {
result.innerHTML = "指定したキーは存在しません。";
} else {
if (event.target.result.myvalue == str1) {location.href = "https://www.yahoo.co.jp/";
} else{result.innerHTML = "<b>パスワードが違います。</b>";}
}
}
}
</script>
</body>
</html>

A 回答 (1件)

どこで問題が発生してます?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!