ユーザーがフォームにテキストを入力してボタンをクリックすると、フォームを非表示にしてユーザーに「ありがとう」メッセージを表示して、 。SubmitおよびHide後にHTML5入力フォームが再表示される
ところで、これはChrome拡張機能のポップアップに埋め込むためのものです。
は、ここで私が持っているものです。
<!doctype html>
<html>
<head>
<title>Extension</title>
<style>
body {
min-width:200px;
min-height:75px;
overflow-x:hidden;
}
img {
margin:5px;
border:2px solid black;
vertical-align:middle;
width:75px;
height:75px;
}
.visible{
display:block;
}
.invisible{
display: none;
}
</style>
<script>
var PopupController = function() {
this.button_ = document.getElementById('button');
this.form_ = document.getElementById('userIdForm');
this.userId_ = document.getElementsByName('userID')[0];
this.submitThanks_ = document.getElementById('submitThanks');
this.addListeners_();
};
PopupController.prototype = {
button_: null,
form_: null,
userId_: null,
submitThanks_: null,
addListeners_: function() {
this.button_.addEventListener('click', this.handleClick_.bind(this));
},
handleClick_: function() {
console.log("Submit button clicked");
var userId = this.userId_.value;
// Hide the form
this.form_.classList.add('invisible');
this.submitThanks_.classList.remove('invisible');
}
};
</script>
</head>
<body onload="window.controller = new PopupController()">
<h2 class="invisible" id="submitThanks">Thanks!</h2>
<div id="userIdForm">
<form>
<input type="text" name="userID" placeholder="User ID" required/>
<button id="button" type="submit">Submit</button>
</form>
</div>
</body>
</html>
問題は、ボタンがクリックされた後、フォームが再表示されていることです。私は、入力フィールドに必須の属性を入れると、機能がわずかに変化することに気付きました。
最新のChrome for Macを使用しています。
これはいいアイデアです、ありがとうございます。しかし、私はそれを試して、私の行動に変化はありません。 – Miles
@Miles - 他のアイデアについては編集を参照してください。 –
トラヴィス、あなたの答えにタイプミスがあるかもしれません。私はそれを「偽りに戻す」ように変更した。 (:)を取り出し、それは働いた。ありがとう!あなたが最初に答えたので、私はあなたに答えのポイントを与えるでしょう。 – Miles