PHP将变量从传递到表单,但从不离开页面
我被一件小事缠住了 我在一个表单中有两个选择下拉框。但是现在,当我选择年份,然后是我失去所选年份的月份时,我知道为什么我失去了年份。因为我已经在脚本中设置了PHP将变量从传递到表单,但从不离开页面,php,drop-down-menu,Php,Drop Down Menu,我被一件小事缠住了 我在一个表单中有两个选择下拉框。但是现在,当我选择年份,然后是我失去所选年份的月份时,我知道为什么我失去了年份。因为我已经在脚本中设置了onChange到javascript:document.location我已经试着把$\u GET['jaartal']放进去内部,但它不工作 有人能帮我解决这个问题吗 这是剧本 <?php //Including config and connection file include_once '..\confi
onChange
到javascript:document.location
我已经试着把$\u GET['jaartal']放进去代码>内部,但它不工作
有人能帮我解决这个问题吗
这是剧本
<?php
//Including config and connection file
include_once '..\config\config.php';
include_once '..\config\inc_connect.php';
//Retrive month value from url and put in variable
$maand = ViewDatumArray();
//Retrive typ value from url and put in variable
$verwerking = $_GET['type'];
$vast_verwerking = $verwerking;
// Years range setup
//$kayako_start = 2012;
?>
<!DOCTYPE html PUBLIC "XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<script type="text/javascript" src="../config/function.js"></script>
<link rel="stylesheet" href="../config/style.css" type="text/css">
</head>
<body style="background-color:#F8F4EB">
<div style="width:900px; margin:0px auto;">
<input type="button" value="Ga Terug" class="goBackJS" onClick="goBack()"/>
<br/>
<!-- 02-01-2013 Added function for year instead -->
<span>Kies de Jaar / Maand van overzicht dat je wilt downloaden.</span>
<form action="" method="post">
<select class="dropstyle" name="jaartal" onChange"<?php $jaar_keuze = $jaar?>">
<option value="2012" selected>Kies jaartal</option>
<?php // Generate the years from start kayako until now.
foreach (range($jaar_nummer = date("Y"), 2012) as $jaar) { ?>
<option value="<?php echo($jaar); ?>" selected><?php echo($jaar); ?></option>
<?php
}
?>
</select>
</form>
<?php echo $jaar_keuze; ?>
<form action="" method="post">
<select class="dropstyle" name="maand" onChange="javascript:document.location='class.View_Evident_Download.php?type=<?php echo $vast_verwerking; ?>&jaar=<?php $_GET['jaartal']; ?>&maand=' + this.value">
<?php
foreach ($maand_teksten as $keyvalue => $waarde) { ?>
<option value="<?php echo $keyvalue; ?>"><?php echo $waarde;?></option>
<?php
}
?>
</select>
</form>
<?php
if(!empty($maand)){
$maand_gekozen = $maand[0];
//Functies voor eerste en laatste dag van de maand
$jaardag = eersteDagVanMaand();
$jaareind = laatsteDagVanMaand();
echo "<br/>";
if ($maand_gekozen < "1"){
echo "Kies maand om te downloaden.";
} else {
if(isset($_GET['type']))
{
$type_download = $_GET['type'];
$jaar_nummer = $_GET['jaartal'];
echo $type_contract[$type_download] . ' van <b>' . $maand_teksten[$maand_gekozen] . $jaar_keuze . '</b> staat klaar om gedownload te worden.<br/>';
echo '<input style="width:300px;" type="button" onClick="location.href = \'class.Controller_Evident_Download.php?type=' . $type_download . '&maand=' . $maand_gekozen . '&jaar=' . $jaar_gekozen . '\';" class="goBackJS" value="Download ' . $type_contract[$type_download] . '"';
};
}
echo "<br/>";
echo "<br/>";
}
?>
<br/>
</div>
</body>
</html>
Kies de Jaar/Maand van overzicht dat je wilt下载。
您应该在表单提交后通过添加“selected”属性将selected选项设置为selected,而不是像现在这样添加“2012”选项。您可以这样做:
<option <?php if($jaar==$_GET['jaartal']) print 'selected'; ?> value="<?php echo($jaar); ?>"><?php echo($jaar); ?></option>
要使用该选项,应从“2012”选项中删除“选定”属性。
编辑:另一个问题是,在执行页面重定向时,您试图使用表单数据,但它不可用或与所选值不同。您应该使用当前选定年份的javascript代码,而不是$\u GET['jaartal']
。以下是一些操作技巧。您应该在表单提交后,通过添加“selected”属性将selected选项设置为selected,而不是像现在这样添加“2012”选项。您可以这样做:
<option <?php if($jaar==$_GET['jaartal']) print 'selected'; ?> value="<?php echo($jaar); ?>"><?php echo($jaar); ?></option>
要使用该选项,应从“2012”选项中删除“选定”属性。
编辑:另一个问题是,在执行页面重定向时,您试图使用表单数据,但它不可用或与所选值不同。您应该使用当前选定年份的javascript代码,而不是$\u GET['jaartal']
。下面是一些如何做的技巧。有点困惑。您正在将jaartal
传递到页面右侧?除非提交,否则无法从当前表单中提取此值。PHP是服务器端的,如果用户提交了某些内容,页面必须刷新才能将请求发送到服务器,因此PHP代码将被执行。如果设置了匹配的GET参数,则需要将“selected”放入select html标记中,维护年份信息。有点混乱。您正在将jaartal
传递到页面右侧?除非提交,否则无法从当前表单中提取此值。PHP是服务器端的,如果用户提交了某些内容,页面必须刷新才能将请求发送到服务器,因此PHP代码将被执行。如果设置了匹配的GET参数,则需要将“selected”放入select html标记中,来维护年份信息。我已将代码更改为“你的代码”,但它仍然没有将年份号放在url中。还删除了selected from 2012您的意思是,当使用下拉框时,javascript应该将其放在一个变量中,并将该变量放在url中?因为javascript是客户端吗?是的。您应该使用javascript获取当前选择的“jaartal”选项值的值,并将其放入url中。我已将代码更改为“您的代码”,但它仍然没有将年份号放入url中。还删除了selected from 2012您的意思是,当使用下拉框时,javascript应该将其放在一个变量中,并将该变量放在url中?因为javascript是客户端吗?是的。您应该使用javascript获取当前选择的“jaartal”选项值并将其放入url中。