回答編集履歴

2

URL修正

2021/06/12 12:12

投稿

neonemo
neonemo

スコア191

test CHANGED
@@ -48,17 +48,23 @@
48
48
 
49
49
  ```js
50
50
 
51
- var submitButton = document.querySelector('form > input[type="submit"]');
51
+ // ここはXHRで取得したものを一度ブラウザにレンダリングさせている前提
52
52
 
53
- console.log(submitButton);
53
+ let submitButton = document.querySelector('form > input[type="submit"]');
54
54
 
55
55
 
56
+
57
+ // inputタグにイベントを仕掛ける処理
56
58
 
57
59
  if (submitButton) {
58
60
 
59
61
  submitButton.onclick = () => {
60
62
 
63
+ let result = false;
64
+
65
+ console.log(result)
66
+
61
- return false;
67
+ return result;
62
68
 
63
69
  }
64
70
 
@@ -70,4 +76,4 @@
70
76
 
71
77
  ## サンプル
72
78
 
73
- [https://jsfiddle.net/mahny/9tbo5dng/](https://jsfiddle.net/mahny/9tbo5dng/)
79
+ [https://jsfiddle.net/4gz6m9L1/1/](https://jsfiddle.net/4gz6m9L1/1/)

1

追記

2021/06/12 12:12

投稿

neonemo
neonemo

スコア191

test CHANGED
@@ -23,3 +23,51 @@
23
23
  <input type="submit" value="送信" onclick="return test();">
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ ## 追記分
30
+
31
+ 先ほどは失礼しました。上は不足した回答だったので追記します。
32
+
33
+
34
+
35
+ 取得したhtmlタグのうち、submitを持つinputタグに対して、動的にonclickハンドラを付与するというアプローチです。
36
+
37
+ ハンドラ自体がfalseを返すと、動作サンプルではGoogleが開かないのを確認しています。
38
+
39
+
40
+
41
+ で、この実施タイミングですが、XHRでサーバ側から取得した状態のテキストはまだDOMとして機能していないと思いますので、普通の処理でformを画面にレンダリングされた後にJSを実行というのは可能ですか?
42
+
43
+ それならJavaScript側で拾って、属性を付与するのは幾分楽になるかと思います。
44
+
45
+ 意図した動きでしょうか?
46
+
47
+
48
+
49
+ ```js
50
+
51
+ var submitButton = document.querySelector('form > input[type="submit"]');
52
+
53
+ console.log(submitButton);
54
+
55
+
56
+
57
+ if (submitButton) {
58
+
59
+ submitButton.onclick = () => {
60
+
61
+ return false;
62
+
63
+ }
64
+
65
+ }
66
+
67
+ ```
68
+
69
+
70
+
71
+ ## サンプル
72
+
73
+ [https://jsfiddle.net/mahny/9tbo5dng/](https://jsfiddle.net/mahny/9tbo5dng/)