繁体   English   中英

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

[英]How can I pass multiple variables to a JavaScript function in HTML / PHP?

我需要通过嵌入式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”

您需要分配window.location.href 多个参数用“&”号分隔。 您还忘记了字符串连接中的“ +”。

window.location.href = "startmaintenance.php?mo=" + mo + "&yr=" + yr;

        function startMaint(mo, yr){

            window.location.href = "startmaintenance.php?mo="+mo+"& yr="yr;

        }

您使用&符号来连接通过Get方法传递的参数,并且需要location对象的href属性进行重定向

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM