Javascript / Jquery 提交没有 ID 的表单或 Class,页面加载后

Javascript / Jquery Submit Form without ID or Class, after page load

我有一个网站,我们只能访问 .js 文件,因为原始 PHP 已经编码,开发人员丢失了源文件。

我们要做的是在页面加载后提交页面上的表单。

这是表格

<form>
          <div class="form-group">
            <label>Username</label>
            <input type="username" class="form-control logininputs" id="input-login" placeholder="Username" value="usernamehere">
          </div>
          <div class="form-group">
            <label>Password</label>
            <input type="password" class="form-control logininputs" id="input-pass" placeholder="Password" value="passwordhere">
          </div>
          <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6 form_left">
            <div class="checkbox checkbox_new">
              <label>
                <input type="checkbox" id="rememberMe"> Remember me
              </label>
            </div>
          </div>
          <div class="form-group">
            <button type="submit" class="btn btn-ghost webtvloginprocess rippler rippler-default">LOGIN <i class="fa fa-spin fa-spinner hideOnload" id="loginProcessIcon"></i></button>
          </div>
        </form>

我想通过 JS 来做这件事,但是表单没有 ID 或 class 元素令人沮丧,所以我很困惑,似乎无法找到一种方法来通用地提交所有表单。此外,这会产生问题,因为在每一页上我放置它的 .JS 文件都被请求,它会尝试提交表单。

所以选项 2。

我可以强制带有 class="btn btn-ghost webtvloginprocess rippler rippler-default" 的提交按钮在页面加载后自动变为 "clicked" 吗?

我该怎么做才能让它成为最后发生的事情?

谢谢

在每个 class 名称前加上句点(而不是空格),这样您就可以 select 带有查询字符串的按钮

button.btn.btn-ghost.webtvloginprocess.rippler.rippler-default

然后只是 click() 它,如果它存在:

const btn = document.querySelector('button.btn.btn-ghost.webtvloginprocess.rippler.rippler-default');
if (btn) btn.click();
<form>
  <div class="form-group">
    <label>Username</label>
    <input type="username" class="form-control logininputs" id="input-login" placeholder="Username" value="usernamehere">
  </div>
  <div class="form-group">
    <label>Password</label>
    <input type="password" class="form-control logininputs" id="input-pass" placeholder="Password" value="passwordhere">
  </div>
  <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6 form_left">
    <div class="checkbox checkbox_new">
      <label>
                <input type="checkbox" id="rememberMe"> Remember me
              </label>
    </div>
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-ghost webtvloginprocess rippler rippler-default">LOGIN <i class="fa fa-spin fa-spinner hideOnload" id="loginProcessIcon"></i></button>
  </div>
</form>

你是说

window.addEventListener("load",function() { // after page has loaded
  var but = document.querySelector(".webtvloginprocess.rippler.rippler-default");
  if (but) but.click();
})

这可能会产生安全错误,因为它不是用户启动的