我有一个表单,我有提交按钮。在提交时,它会弹出一个警告框,通知您要提交的数据。我想在其上显示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.');">
答案 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>