我有一张表格的确认弹出窗口。仅当用户未登录时才会显示弹出窗口。
<form method="post" action="http://domain.com/go-here.php" <?php if (sw::shared()->session->user_type !== 'customer') { ?>onsubmit="return confirm('You must be logged in to register for this game. Press ok to go to the login page.');"<?php } ?>
当用户在弹出窗口中点击“确定”时,我希望将它们带到http://domain.com/log-in.php而不是原始表单操作目标。
我可以使用内联JS实现这一目标吗?
答案 0 :(得分:1)
session->user_type !== 'customer') { ?>onsubmit="var conf = confirm('You must be logged in to register for this game. Press ok to go to the login page.'); if (conf == true) { console.log('said yes');} else { console.log('said no');}"
必须将确认diaglog分配给变量,以便确认状态,在&#34; ok&#34;可以访问&#34;取消&#34;和false。
[编辑:回答你问题的下一部分
为了防止在按下提交按钮时提交表单,您将需要单击提交按钮并使用事件方法e.preventDefault()
。
但是,由于很多原因,这很麻烦。如果它必须是内联的:
您最好的选择是使用<input type='submit' />
以外的按钮提交表单。所以,给你的表单一个id,这样你就可以在按钮的onclick
中抓住它。基本上,你会有
<button onclick='var conf = confirm("blah blah"); if (conf == true) { document.getElementById("myForm").submit();} else { console.log("they hit cancel");}'>SUBMIT</button>
]