[英]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>
<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>
<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.