如果文件不存在但是没有重定向,我试图在新页面中重定向,但如果我只写警报,那么它正在工作。请帮帮我。
//php code
<?PHP
if(isset($_POST["bills"]))
{
if($_POST[month]=='Select Month' || $_POST[year]=='Select Year'){$msg="Please select valid month or year";}
else if(file_exists($path.$_POST["month"].$_POST["year"].'.pdf')){header('location:'.$path.$_POST[month].$_POST[year].'.pdf');}
else{?>
<script type='text/javascript' language="javascript">document.getElementById('downloadlink').click();</script>
<?PHP }
}
?>
//html code
<form action="electricitybills.php" method="post" >
<select name="year">
<?PHP include('include/billsyear.php'); ?>
</select>
<select name="month">
<?PHP include('include/billsmonth.php'); ?>
</select>
<div class="gobutton"><input type="submit" name="bills" value="GO"></div>
</form>
</div>
<br><br><br><a id="downloadlink" href="http://www.google.com" target="_blank" style="display:none;">link text</a></form>
答案 0 :(得分:0)
click()
- 执行对元素的单击,就像用户手动单击它一样。在大多数浏览器中,click()仅适用于非“提交”或“重置”的表单INPUT元素。它不能用于模拟链接或表单提交按钮上的点击。
downloadlink
实际上最有可能是link
,所以它为什么不起作用
请参阅此link了解click()
文档
答案 1 :(得分:0)
使用jquery的.ready函数。 因为您尝试在生成之前访问document.getElementById('downloadlink')。
<a id="downloadlink" href="http://www.google.com" target="_blank" style="display:none;">link text</a>
<?PHP
if(isset($_POST["bills"]))
{
if($_POST[month]=='Select Month' || $_POST[year]=='Select Year'){$msg="Please select valid month or year";}
else if(file_exists($path.$_POST["month"].$_POST["year"].'.pdf')){header('location:'.$path.$_POST[month].$_POST[year].'.pdf');}
else{?>
<script type='text/javascript' language="javascript">
$('#downloadlink').trigger('click');
//html code
<form action="electricitybills.php" method="post" >
<select name="year">
<?PHP include('include/billsyear.php'); ?>
</select>
<select name="month">
<?PHP include('include/billsmonth.php'); ?>
</select>
<div class="gobutton"><input type="submit" name="bills" value="GO"></div>
</form>
</div>
<br><br><br></form>
试试这个。我希望它能帮到你!
答案 2 :(得分:0)
在php中,您可以使用重定向:
header('location: www.google.com');
或javascript:
location.href = "http://www.example.com/test";