javascript - 如何将多个变量传递给 HTML/PHP 中的 JavaScript 函数?

标签 javascript php html

我需要通过嵌入的 html 从 php 调用 javascript 函数。

这是我的职责。

<script> 
    // THIS JAVASCRIPT REDIRECTS TO EDITUSER.PHP AND PASSES USERID VALUE.
    function startMaint(mo, yr){        
        window.location = "startmaintenance.php?mo=" + mo + "yr=" + yr;
    }   
</script>

这是我调用函数的地方。

<form method="POST" action="home.php">

                <select  name="monthselect">

                    <option value="" disabled selected> Select Month: </option>

                    <?PHP
                        echo"<option value=01>January</option>";
                        echo"<option value=02>February</option>";
                        echo"<option value=03>March</option>";
                        echo"<option value=04>April</option>";
                        echo"<option value=05>May</option>";
                        echo"<option value=06>June</option>";
                        echo"<option value=07>July</option>";
                        echo"<option value=08>August</option>";
                        echo"<option value=09>September</option>";
                        echo"<option value=10>October</option>";
                        echo"<option value=11>November</option>";
                        echo"<option value=12>December</option>";

                    ?>

                </select>&nbsp;&nbsp;&nbsp;

                <select  name="yearselect">

                    <option value="" disabled selected> Select Year: </option>

                    <?PHP

                        $year = 1920;

                        While($year <= date("Y")){
                            echo"<option value=$year>".$year."</option>";
                            $year++;
                        }


                echo"</select>";


            echo "</div>";

            echo "<div class='center'>";

                    $strMonth = $_POST['monthselect'];
                    $strYear = $_POST['yearselect'];

                    echo "<input type='button' class='btn' name='start' value='Start' onclick='javascript:startMaint('".$strMonth."','".$strYear."');'>";

                ?>

                </form>

我遇到的问题是,当我按下“开始”按钮时,我的代码没有执行。

当我将参数传递给函数时,我不确定我使用的语法是否正确。任何帮助,将不胜感激。

如果我手动输入这样的值:

echo "<input type='button' class='btn' name='start' value='Start' onclick='javascript:startMaint(". 1 .",". 1980 .");'>";

效果很好。但是如果我用变量替换这些值,代码不会执行...我想要做的是将 $strMonth$strYear 值传递给函数。

最佳答案

php 不是一种均匀驱动的编程语言,它是一种服务器端编程语言,因此您需要使用 javascript 来解决您的问题

这样解决问题

<script>
 document.getElementById('btn').addEventListener("click",  function(){
  var mo =   document.getElementById('monthselect').value;
  var yr = document.getElementById('yearselect').value;
  window.location = "startmaintenance.php?mo="+mo+"yr="+yr;
});
</script>

Html 和 PHP 代码

<form method="POST" action="home.php">

                <select id="monthselect"  name="monthselect">

                    <option value="" disabled selected> Select Month: </option>

                    <?php
                        echo"<option value=01>January</option>";
                        echo"<option value=02>February</option>";
                        echo"<option value=03>March</option>";
                        echo"<option value=04>April</option>";
                        echo"<option value=05>May</option>";
                        echo"<option value=06>June</option>";
                        echo"<option value=07>July</option>";
                        echo"<option value=08>August</option>";
                        echo"<option value=09>September</option>";
                        echo"<option value=10>October</option>";
                        echo"<option value=11>November</option>";
                        echo"<option value=12>December</option>";

                    ?>

                </select>&nbsp;&nbsp;&nbsp;

                <select id="yearselect"  name="yearselect">

                    <option value="" disabled selected> Select Year: </option>

                    <?php

                        $year = 1920;

                        While($year<= date("Y")){
                            echo"<option value=$year>".$year."</option>";
                            $year++;
                        }
                    ?>

              </select>


            </div>

            <div class='center'>

  <input type='button' id="btn" class='btn' name='start' value='Start' >

                </form>

在 Html 代码中我添加了三个 id 属性 id="monthselect", id="yearselect", id="btn"

关于javascript - 如何将多个变量传递给 HTML/PHP 中的 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879761/

相关文章:

javascript - 谷歌地图 : Change markers color only if they are in same location

php - 我怎样才能使这个 AJAX/PHP 工作?

php - 如何使用 PHP Simple HTML DOM Parser 查找所有元素?

html - chrome 和 safari/firefox 之间的滚动行为差异

javascript - 为什么我无法访问 document.querySelectorAll 的某些元素

javascript - 如何禁用 dropzone 的自动文件上传?

javascript - 将 Require.js 与可插入模块结合使用

未读取 Javascript 类属性

php - 最后插入 ID = 0

php - Paypal 付款拆分为 2 个合作伙伴