javascript - 以编程方式更改 CSM 页面中提交输入的 onclick
问题描述
我正在使用无法直接编辑的 CMS,因此我需要通过页面上注入的 JS 来实现结果。
我的输入提交按钮是:
<input type="submit" name="ctl00$plcBody$BookingFormGrid$ctl03" value="NEXT" onclick="$('form').attr('action', 'RoomTypeSelection.aspx?bfid=126b48d6-e3b9-4e57-8be6-067da3425467&bfpid=37a70010-9228-4cd8-aeaf-23efd0ca4b84&arr=2019-03-13&nts=4&a=1&c=0');" class="btn btn-primary bnow">
我在 CMS 页面中有多个(并且数量不等),我需要向onclick
url 添加一个参数。
所以:
onclick="$('form').attr('action', 'RoomTypeSelection.aspx?bfid=126b48d6-e3b9-4e57-8be6-067da3425467&bfpid=37a70010-9228-4cd8-aeaf-23efd0ca4b84&arr=2019-03-13&nts=4&a=1&c=0'
变为(使用 param &pc=SAVENOW
):
onclick="$('form').attr('action', 'RoomTypeSelection.aspx?bfid=126b48d6-e3b9-4e57-8be6-067da3425467&bfpid=37a70010-9228-4cd8-aeaf-23efd0ca4b84&arr=2019-03-13&nts=4&a=1&c=0&pc=SAVENOW'
如何更改onclick
操作内容?
解决方案
正如您所写,您无法更改发出的 html 代码,这就是您想要从 JS 实现目标的原因。我在评论中的意思是这样的:
<script>
$(() => {
$('form').on('submit', () => { $(this).attr('action') += '&pc=SAVENOW' })
})
</script>
但是,如果您必须区分表单,而不是简单地将这个参数添加到所有表单,您的逻辑可能会变得更加复杂。
推荐阅读
- oracle - Oracle实体框架代码第一个日期时间生成为日期而不是时间戳
- security - 如何使用密码对 .p12 进行字典攻击(教育目的)
- stylelint - 同一文件中不同选择器的无重复选择器错误
- qt - 如何使用 MSVC14 创建 Qt 应用程序?
- android - Android 崩溃:/data/user/0/[my app]/cache/WebView 不是目录
- android - 如何将 setter 和 getter 添加到 Parcelable 类的成员变量
- javascript - Javascript - 将 CSV 格式的数据导入 json
- asp.net-mvc - 我如何发送多值来创建动作
- export - Mantis Bug Tracker 导出选定的问题
- android - ? 可绘制资源中的 attr 导致 Resources$NotFoundException