質問編集履歴
1
ボタンを押した時のコードを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,4 +16,55 @@
|
|
16
16
|
<textarea class="ps-postbox__input ps-textarea ps-postbox-textarea" name="umi" id="umi" >海
|
17
17
|
</textarea>
|
18
18
|
</div>
|
19
|
+
```
|
20
|
+
|
21
|
+
ボタンを押した時のコード(Peepsoというライブラリを使っていて、解読したところの一部抜粋です。)
|
22
|
+
```JavaScript
|
23
|
+
peepso.npm.objectAssign(
|
24
|
+
PsPostbox.prototype,
|
25
|
+
PsObserver.prototype,
|
26
|
+
|
27
|
+
this.$btns = this.$el.find('.ps-postbox-action');
|
28
|
+
this.$btnSubmit = this.$btns.find('.ps-button-action');
|
29
|
+
|
30
|
+
/**
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
getData: function () {
|
34
|
+
var data = this._getData();
|
35
|
+
data = this.applyFilters('data', data);
|
36
|
+
data = peepso.observer.applyFilters('postbox_data', data, this); // deprecated
|
37
|
+
return data;
|
38
|
+
},
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Check whether current postbox state allows user to submit.
|
42
|
+
* @return {boolean}
|
43
|
+
*/
|
44
|
+
validate: function () {
|
45
|
+
var data = this._getData(),
|
46
|
+
status = data.content.trim(),
|
47
|
+
valid = status ? true : false;
|
48
|
+
|
49
|
+
return this.applyFilters('data_validate', valid, data);
|
50
|
+
},
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Handle submit action.
|
54
|
+
*/
|
55
|
+
submit: function () {
|
56
|
+
if (typeof this.opts.submit === 'function' && this.validate()) {
|
57
|
+
this.$btns.hide();
|
58
|
+
this.$loading.show();
|
59
|
+
this.opts.submit(
|
60
|
+
this,
|
61
|
+
this.getData(),
|
62
|
+
$.proxy(function () {
|
63
|
+
this.$loading.hide();
|
64
|
+
this.$btns.css('display', 'flex');
|
65
|
+
}, this)
|
66
|
+
);
|
67
|
+
}
|
68
|
+
},
|
69
|
+
|
19
70
|
```
|