如何使用 PHP 的 JavaScript

How to use javascript using PHP?

本文关键字:JavaScript PHP 何使用      更新时间:2023-09-26

场景:

我使用 IF ELSE 创建了一个过滤,当用户单击框 A 和框 B 时...然后假设 BOX A 已经满了,在用户点击"保存按钮"后,将显示一条确认消息,指出......"你选择的盒子已经满了。是否要保存其他项目?

这是我的代码:

<?php
//else if......
    else if($box== "BOX A" && $row[item]  == "100")
    {
        echo "<script type='text/javascript'>";
        echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
        echo "if (r==true){";
        echo "alert('You pressed OK!')}";
        echo "else{";
        echo "alert('You pressed Cancel!')}";
        echo "</script>";
    }
?>

我对代码有问题,当我尝试使用echo "enter here";跟踪它时程序读取此代码后它总是停止

  echo "<script type='text/javascript'>";

然后它会跳到这里:

 echo "</script>";

结果:

它不显示弹出消息...所以我所需要的只是显示弹出消息,我不知道为什么,为什么它不显示......没有按钮涉及显示确认消息...如果不是,它只会经过,然后如果用户想继续保存,如果其中一个框已经满,他/她将按取消......

注意:我只是PHP和Javascript的初学者。

提前谢谢你。

这是因为您在另一个标签中启动一个新的<?/<?php标签

else if($box== "BOX A" && $row[item]  == "100")
{
    <?php
    echo "<script type='text/javascript'>";
    echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
    echo "if (r==true){";
    echo "alert('You pressed OK!')}";
    echo "else{";
    echo "alert('You pressed Cancel!')}";
    echo "</script>";
    ?>
}

应该是

else if($box== "BOX A" && $row[item]  == "100")
{
    echo "<script type='text/javascript'>";
    echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
    echo "if (r==true){";
    echo "alert('You pressed OK!')}";
    echo "else{";
    echo "alert('You pressed Cancel!')}";
    echo "</script>";
}

但我个人认为

    else if($box== "BOX A" && $row[item]  == "100")
    {
?>
<script>
var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
if (r==true) {
    alert('You pressed OK!');
} else {
    alert('You pressed Cancel!');
}
</script>
<?
    }

更清晰,更具可读性。不要让javascript远离PHP,如果你能避免的话,不要回显它。在 6 个月内很难进行调查。

或者你可以做这样的事情。

    <?php
    //some PHP code
    if($box== "BOX A" && $row[item]== 100)
    {
    ?>
        <script type='text/javascript'>
        var r=confirm('The Box you chosen is already full. Do you want to save the other items?');
        if (r==true){
        alert('You pressed OK!')}
        else{
        alert('You pressed Cancel!')}
        </script>
    <?php
    }
    ?>

我假设你在这一行之前放了一个 php 标签和一个 if 语句

else if($box== "BOX A" && $row[item]  == "100")

事实是,您不需要打开另一个php标签。你已经在用 php 编写了,所以你不需要再次指定它,因为它会导致你的代码失败。你可以写这样的东西。

else if($box == "BOX A" && $row[item] == "100")
{ ?>
    <script type='text/javascript'>
    var r=confirm('The Box you chosen is already full. Do you want to save the other items?');
    if (r==true)
        alert('You pressed OK!');
    else
        alert('You pressed Cancel!');
    </script>
  <?php
}
$str = <<<MY_MARKER
<script type="text/javascript">
document.write("Hello World!");
</script>
MY_MARKER;
echo $str;

你的问题基本上是因为当你回显你的javascript时,你忘记了;字符仍然需要继续JS行:

<?php
//else if......
    else if($box== "BOX A" && $row[item]  == "100")
    {
        echo "<script type='text/javascript'>
                var r = confirm('The Box you chosen is already full. Do you want to save the other items?'); // <- this was missing
                if (r == true){
                    alert('You pressed OK!');
                }
                else{
                    alert('You pressed Cancel!');
                }
                </script>";
    }
?>

我使用的小技巧是 PHP echo 允许新行而不会中断,因此您始终可以只回显代码块并更轻松地查看它