Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在表单提交警告框中显示PHP变量_Javascript_Php_Alert - Fatal编程技术网

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

Javascript 在表单提交警告框中显示PHP变量,javascript,php,alert,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_startd

我有一张表格,上面有提交按钮。提交时会弹出一个警报框,通知要提交的数据。我想在上面显示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.');">

您正在单引号外编写字符串。只需删除您的
'+
+'

<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.');">
试试这个:

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

示例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 car在引号外回响,因此JavaScript将其标识为JavaScript变量

要理解它,请认为在请求页面时,服务器将生成php并将html发送到web浏览器。web只接收html、css和JavaScript,不接收任何php代码,只接收结果

在这里,您的web浏览器阅读以下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变量打印在字符串中,它对您的代码是透明的:

 <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.');">
**更新的代码-**
测试
var phpVarData='';
函数validateForm()
{
var confirmrep=confirm(“您已经创建了一个新批”+phpVarData+”。单击“确定”进行确认,或者单击“取消”进行忽略。”);
如果(确认响应)
{
返回true;
}
否则{
返回false;
}
}

$rpp\u regn\u respected\u startdate\u 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.');">
echo”“;打印(邮政美元);回声“;

echo“警报”(“打印($\u POST)echo”);

你的欢迎

“但你没有得到它”?这到底是什么意思?由此生成的HTML源代码是什么?这意味着没有显示php变量。保持冷静。我刚才问了一个问题。不要太在意。如果你有困难,请随意离开。谢谢@克里斯干了这个。但不起作用。警报框现在不会弹出。我的
$rpp\u regn\u指定的\u startdate\u new1
是一个日期。@a浏览器控制台中是否有错误?控制台似乎不受影响。没有任何内容。@a并用一个简单的工作示例检查更新后的anwser。也尝试过这个。没有弹出提示框Myphpvar是文本或php变量。它将被视为文本。您的
validateForm()
函数不返回任何内容。很抱歉,此操作失败。弹出窗口未出现。@Syscall是否可以修复此问题?代码已更新,请再次检查。创建一个test.php并粘贴代码,然后运行并单击test按钮,您将看到结果。尝试在inspect元素中进行调试,并向我们显示您获得的输出控制台仍然为空。只是没有得到任何线索。伙计,我不是在说控制台,检查元素并检查浏览器上的表单输出。检查元素显示变量值。伯特:这个弹出窗口有什么问题?那么弹出窗口里有什么?
<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.');">
 <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.');">
**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>
<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.');">
echo "<pre>"; print_r($_POST) ;  echo "</pre>";
echo "<script>alert('"; print_r($_POST) echo"');</script>";