如何在HTML中实现点击单个按钮跳转两个页面?
实现单按钮跳转两个页面的解决方案
首先得明确:纯HTML的<form>标签只能设置一个action属性,你写两个action的话,浏览器只会识别第一个,所以才会只跳转一个页面——这是HTML的固有规则,没法绕开。
要实现点击一个按钮打开两个页面,得借助JavaScript来辅助,这里给你两种简单可行的方案:
方案1:直接给按钮添加点击事件
修改你的代码,给按钮加上onclick事件,在点击时用window.open打开第二个页面,同时让表单正常提交到第一个地址:
<form action="http://195.678.99.00:5002/predict" id="usrform" method="post" enctype="multipart/form-data" target="_blank"> <button id="myButton" type="submit" class="button button5" onclick="window.open('www.mywebsite.com', '_blank')">View pages</button> </form>
target="_blank"会让表单提交的页面在新窗口打开,window.open也会在新窗口打开第二个地址,这样点击按钮就能同时触发两个页面跳转。- 注意:部分浏览器的弹窗拦截器可能会阻止
window.open,建议提前提示用户允许弹窗。
方案2:用事件监听(更优雅的写法)
如果不想把JS代码写在HTML标签里,也可以用事件监听的方式,把逻辑和HTML结构分离,后期维护更方便:
<form action="http://195.678.99.00:5002/predict" id="usrform" method="post" enctype="multipart/form-data" target="_blank"> <button id="myButton" type="submit" class="button button5">View pages</button> </form> <script> document.getElementById('myButton').addEventListener('click', function() { // 打开第二个页面 window.open('www.mywebsite.com', '_blank'); }); </script>
额外提示
如果你的表单需要先完成提交(比如等待服务器返回结果)再打开第二个页面,那需要改用AJAX提交表单,在请求成功的回调里再触发第二个页面的跳转。不过从你的需求描述来看,上面两种方案应该就能满足需求了。
内容的提问来源于stack exchange,提问作者user11111
相关产品推荐
相关产品推荐

