如果我的函数评估为真,我如何使我的确认语句 post 成为状态,或者如果为假则取消?

How can I make my confirm statement post a status if my function evaluates as true, or cancel if false?

我希望在用户单击提交时弹出一个确认框,但前提是他们的 post 包含 'sale' 和 '£' 等字符串。不幸的是,无论单击“确定”还是“取消”,代码都会转发到操作页面。

我还尝试创建另一个包含确认语句的 'if else',return true 表示确定,false 表示取消,但无济于事。

抱歉,如果其中有些内容难以理解,我是个菜鸟,正在努力思考 JavaScript。

<script>
function check() {

 var post = document.forms["myForm"]["newPost"].value;
    if (post.indexOf('sale') > -1 || post.indexOf('£') > -1) {
     confirm("If this is a 'for sale' post, please post to the marketplace instead. Press OK to post as a general status."); 
 }
}
</script>

<form name="myForm" action="/post-page.php" onSubmit="return check()" method="post">
Post: <input name="newPost" id="newPost">
  <input type="submit" value="Post Now">
</form>

预期:按 OK post状态。

结果:两个选项post状态。

您必须使用 confirm()return 值来控制 事件 的流程:

function check() {

 var post = document.forms["myForm"]["newPost"].value;
    if (post.indexOf('sale') > -1 || post.indexOf('£') > -1) {
     var res = confirm("If this is a 'for sale' post, please post to the marketplace instead. Press OK to post as a general status."); 
     if(res) return true;
     else return false;
 }
}
<form name="myForm" action="/post-page.php" onSubmit="return check()" method="post">
Post: <input name="newPost" id="newPost">
  <input type="submit" value="Post Now">
</form>