如何让表单内的两个按钮分别跳转至不同的PHP页面?
解决方案:实现两个按钮跳转不同页面
单个HTML表单确实只能设置一个action属性,要实现两个按钮分别提交/跳转到不同页面,这里提供几种实用方案:
方案1:拆分两个独立表单(无JS依赖)
这是最稳妥的方案,把两个按钮分别放在独立表单中,各自配置对应action:
<body> <h1>Home</h1> <p>Register Profile:</p> <form action="profile_submit.php" method="post"> <p> <input type="submit" name="Register" id="Register" value="Submit" /> </p> </form> <p>Update Profile:</p> <form action="profile_update.php" method="post"> <p> <input type="submit" name="Update" id="Update" value="update" /> </p> </form> </body>
兼容性拉满,不需要依赖JavaScript,适合所有场景。
方案2:JS动态修改表单action(保留单个表单)
如果必须把按钮放在同一个表单里,可以通过JavaScript在点击时动态修改表单的action属性再提交:
<body> <h1>Home</h1> <p>Register Profile:</p> <form id="profileForm" method="post"> <p> <input type="submit" name="Register" id="Register" value="Submit" onclick="setActionAndSubmit('profile_submit.php')" /> </p> <p>Update Profile:</p> <p> <input type="submit" name="Update" id="Update" value="update" onclick="setActionAndSubmit('profile_update.php')" /> </p> </form> <script> function setActionAndSubmit(targetUrl) { const form = document.getElementById('profileForm'); form.action = targetUrl; form.submit(); } </script> </body>
注意要移除原表单的action属性,由JS动态赋值。另外你原代码里的onclick="profile_update.php"是无效写法,必须通过函数处理跳转逻辑。
方案3:button元素直接跳转(无需提交表单)
如果只是单纯跳转页面、不需要提交表单数据,可以用<button>结合JS实现:
<body> <h1>Home</h1> <p>Register Profile:</p> <p> <button onclick="window.location.href='profile_submit.php'">Submit</button> </p> <p>Update Profile:</p> <p> <button onclick="window.location.href='profile_update.php'">update</button> </p> </body>
这种方式更简洁,适合无表单数据提交的场景。
内容的提问来源于stack exchange,提问作者Skyleer
相关产品推荐
相关产品推荐

