简体   繁体   English

点击按钮。 Javascript警告框。 如果单击OK,页面重新加载并需要使用html输入表单值创建php变量

[英]Click button. Javascript alert box. If click OK, page reloads and need to create php variable with html input form value

User clicks on Delete button. 用户单击“删除”按钮。 Javascript alert box popups with OK and Cancel. 带有确定和取消的Javascript警告框弹出窗口。 If user clicks OK, then page reloads (post form) and I need to create php variable with value from here name="confirm_delete" ) 如果用户单击确定,然后页面重新加载(发布表单),我需要创建带有值的php变量,其中name="confirm_delete"

Here is my code 这是我的代码

<form action="<?php echo (htmlspecialchars($_SERVER["PHP_SELF"])) ?>" method="post">

<input name="delete" type="submit" id="delete" value="Delete">

<input type="hidden" name="confirm_delete" id="confirm_delete" value="0" >

<script>
$(document).ready(function() {

  $("#delete").click(function(){

    var answer = confirm("Are you sure you want to delete?");
    if (answer){
    return true;
    document.getElementById('confirm_delete').value = 1;
    } else {
    return false;
    document.getElementById('confirm_delete').value = 0;
    }

  });

});
</script>

Then print_r($_POST['confirm_delete']); 然后print_r($_POST['confirm_delete']); but value always is 0. That means that document.getElementById('confirm_delete').value = 1; 但值始终为0.这意味着document.getElementById('confirm_delete').value = 1; does not work. 不起作用。

Please, advice what need to correct 请提出建议需要纠正的问题

Replace your javascript code by following: 通过以下方式替换您的JavaScript代码:

<script>
$(document).ready(function() {

$("#delete").click(function(){

    var answer = confirm("Are you sure you want to delete?");
    if (answer){
    document.getElementById('confirm_delete').value = 1;
    return true;
    } else {
    document.getElementById('confirm_delete').value = 0;
    return false;
    }

  });
});
</script>

You are using the return true and false first after that you are assigning the value. 在分配值之后,首先使用return true and false so return terminates from the function before assign the value. 所以返回在赋值之前从函数终止。 so first assign the value and then use the return. 所以首先赋值,然后使用return。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM