在表单提交警告框中显示PHP变量

时间:2018-02-15 09:53:01

标签: javascript php alert

我有一个表单,我有提交按钮。在提交时,它会弹出一个警告框,通知您要提交的数据。我想在其上显示php变量以获取信息(警告框),但没有得到它。我在这里有代码并寻求一些解决方案。任何帮助将不胜感激。

 <form class="form-horizontal" method="post" action="" onsubmit="return confirm('You have created a new batch' + <?php echo $rpp_regn_prescribed_startdate_new1;?> +'. Click OK to confirm or you can ignore by clicking Cancel.');">

6 个答案:

答案 0 :(得分:1)

你在单引号之外写一个字符串。只需删除您的'++'

即可
<form class="form-horizontal" method="post" action="" 
onsubmit="return confirm('You have created a new batch <?php echo $rpp_regn_prescribed_startdate_new1;?>. Click OK to confirm or you can ignore by clicking Cancel.');">

但请确保PHP字符串中没有单个内容。

这个简单的例子有效:

<?php
$rpp_regn_prescribed_startdate_new1 = date("r");
?><!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>test</title>
</head>
<body>
<form class="form-horizontal" method="post" action=""
onsubmit="return confirm('You have created a new batch <?php echo $rpp_regn_prescribed_startdate_new1;?>. Click OK to confirm or you can ignore by clicking Cancel.');">
<input type="submit" value="ok">
</form>
</body>
</html>

答案 1 :(得分:1)

**Updated Code -** 
<?php
    $rpp_regn_prescribed_startdate_new1 = "Test Content";
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

    <form class="form-horizontal" method="post" action="" onsubmit="return validateForm();">
        <button type="submit" name="button">test</button>
    </form>

    <script>
        var phpVarData = '<?php echo $rpp_regn_prescribed_startdate_new1; ?>';
        function validateForm()
        {
             var confirmResp = confirm("You have created a new batch "+phpVarData+".Click OK to confirm or you can ignore by clicking Cancel.");
             if(confirmResp)
             {
                 return true;
             }
             else {
                 return false;
             }
        }
    </script>
    </body>
</html>

答案 2 :(得分:0)

你遇到的问题是php汽车在引号之外回显,所以它被JavaScript识别为JavaScript变量。

要理解它,请考虑在请求页面时,服务器将生成php并将html发送到Web浏览器。网络只接收html,css和JavaScript,它没有得到任何PHP代码,只有结果。

所以在这里,您的网络浏览器会阅读此JavaScript代码:

<form class="form-horizontal" method="post" action="" onsubmit="return confirm('You have created a new batch' + myphpvar +'. Click OK to confirm or you can ignore by clicking Cancel.');">

并且它不正确,因为它与您的代码中的任何JavaScript引用都不对应。

所以你只需要在字符串中打印你的php var,它对你的代码是透明的:

 <form class="form-horizontal" method="post" action="" onsubmit="return confirm('You have created a new batch <?php echo $rpp_regn_prescribed_startdate_new1;?>. Click OK to confirm or you can ignore by clicking Cancel.');">

将显示一次:

<form class="form-horizontal" method="post" action="" onsubmit="return confirm('You have created a new batch myphpvar. Click OK to confirm or you can ignore by clicking Cancel.');">

答案 3 :(得分:0)

$ rpp_regn_prescribed_startdate_new1返回一个值,但它被认为是一个变量,因为它不在引号中,只需添加php代码周围的引号即可。这应该有用。

<form class="form-horizontal" method="post" action="" onsubmit="return 
confirm('You have created a new batch' + '<?php echo 
$rpp_regn_prescribed_startdate_new1;?>' +'. Click OK to confirm or you can 
ignore by clicking Cancel.');">

答案 4 :(得分:0)

echo "<pre>"; print_r($_POST) ;  echo "</pre>";

echo "<script>alert('"; print_r($_POST) echo"');</script>";

欢迎光临

答案 5 :(得分:-1)

试试这个:

不需要连接,你只需回显字符串中的变量

示例1

<form class="form-horizontal" method="post" action="" 
onsubmit="return confirm('You have created a new batch <?php echo $rpp_regn_prescribed_startdate_new1;?> Click OK to confirm or you can ignore by clicking Cancel.');">

确保变量应该是字符串的一部分

这也可行

示例2

<form class="form-horizontal" method="post" action=""
onsubmit="return confirm('You have created a new batch' + '<?php echo $rpp_regn_prescribed_startdate_new1;?>' +'. Click OK to confirm or you can ignore by clicking Cancel.');">

示例3

<form class="form-horizontal" method="post" action="" onsubmit="return validate();">
  <input type="submit" value="ok">
</form>

<script>
    var phpVarData = '<?php echo $rpp_regn_prescribed_startdate_new1; ?>';
    function validate() {
         confirm("You have created a new batch " + phpVarData + ".Click OK to confirm or you can ignore by clicking Cancel.");
    }
</script>