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();
})
这可能会产生安全错误,因为它不是用户启动的
我有一个网站,我们只能访问 .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();
})
这可能会产生安全错误,因为它不是用户启动的