提交密码表格不再有效

丹尼尔

class Mess {
 MessyMethod() {
   startSession = function () {
     document.querySelector('.rds-form').addEventListener('submit', function(e) {
       e.preventDefault();
       alert('form submitted');
     });
   }
 }
}
<form class="rds-form">
  <input /><button id="continueButton" type="submit">Submit</button>
</form>

伙计们,我有一个项目,其JavaScript逻辑如下:

export class Mess {
  constructor(title, username) {
    this.title = title;
    this.username = username;
    this.container = document.getElementById('originalContainer');
  }

  MessyMethod() {

    this.startSession = function () {
       var self = this;
       let pwForm = pwAuthForm();
       let div = document.createElement('div');
       document.templates = [];
       div.innerHTML = pwForm;
       this.container.appendChild(div);

       document.querySelector('.rds-form').addEventListener('submit', function(e) {
          e.preventDefault();
         alert('form submitted!');
      });
    }
  }
}

index.html是:

<form class="rds-form">
  <input /><button id="continueButton" type="submit">Submit</button>
</form>

因此,除非我将其document.querySelector()this.startSession里面的里面出来,否则上述内容就无法成功提交MessyMethod我被问到在哪里startSession被调用,好吧,它在任何地方都没有被调用。它在工作之前document.querySelector("continueButton").addEventListener("click", function ())

但是我的理解是,这是一个不好的表单,它应该以表单的类为目标并侦听提交,否则用户可以单击页面中的任意位置,然后表单将提交。我在这里走错了路吗?

陶菲克·纳瑟

您的代码正在运行

您的问题是如何称呼 startSession

这是工作示例(相同的代码):

    class Mess {
        constructor(title, username) {
          this.title = title;
          this.username = username;
          this.container = document.getElementById('originalContainer');
        }
      
        MessyMethod() {



          this.startSession = function () {
             var self = this;
             document.querySelector('.rds-form').addEventListener('submit', function(e) {
                e.preventDefault();
               alert('form submitted!');
            });
             
             //let pwForm = pwAuthForm();
             //let div = document.createElement('div');
             //document.templates = [];
             //div.innerHTML = pwForm;
             //this.container.appendChild(div);

  
          }
        }
      }

    // I added these 3 lines
    var mess = new Mess("title !","user name !")  
    mess.MessyMethod()
    mess.startSession()    
<html>
    <body>
    <form class="rds-form">
        <input /><button type="submit">Submit</button>
      </form>
    </body>
</html>


如果您想保留相同的代码骨架(我建议重构)

请注意,startSession仅在运行时才构建方法MessyMethod

因此,您需要先调用MessyMethod然后再调用startSession以实际添加提交事件侦听器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关闭密码表格C#

来自分类Dev

PyQt中的密码表格

来自分类Dev

简单的恢复密码表格

来自分类Dev

更改用户密码表格

来自分类Dev

Android:“ slideEdge”不再有效

来自分类Dev

Android Play商店market://链接不再有效?

来自分类Dev

使用Python xarray屏蔽'where'不再有效

来自分类Dev

雅虎财务不再有效吗?

来自分类Dev

获取不再有效的Google Cache for PDF副本

来自分类Dev

可用指针偏移量不再有效?

来自分类Dev

CSS损坏-自动调整大小不再有效

来自分类Dev

stringByAppendingPathComponent对swift2不再有效

来自分类Dev

使用Python xarray屏蔽'where'不再有效

来自分类Dev

systemctl重装网络不再有效

来自分类Dev

Liberty SSL 证书密钥不再有效

来自分类Dev

Firebase 崩溃 - 批量上传不再有效

来自分类Dev

Arrow 和 canc 确实不再有效

来自分类Dev

Xtext 交叉引用不再有效?

来自分类Dev

Tidyverse 更新和 rlang - 代码不再有效

来自分类Dev

是否有更改 WordPress“重置密码表单”的钩子?

来自分类Dev

通过bash发送邮件曾经有效,现在不再有效

来自分类Dev

删除具有子对象的RLMObject时,Realm.io'RLMArray不再有效'

来自分类Dev

带有 Ubuntu 18.04 的 Lenovo P1 上的 Wifi 不再有效

来自分类Dev

WooCommerce在另一页上丢失了密码表格

来自分类Dev

ES6数组理解不再有效吗?

来自分类Dev

无法安装该应用,因为开发者证书不再有效

来自分类Dev

当std :: vector增长时,其中元素的地址不再有效吗?

来自分类Dev

Android-领域-对象删除-对象不再有效以对其进行操作

来自分类Dev

Keycloak和身份代理(OpenId)IdentityBrokerException“令牌不再有效”

Related 相关文章

热门标签

归档