【发布时间】:2012-01-14 21:23:33
【问题描述】:
简单地说,我有一个带有超链接的变量:
$test3 = '<a href="#" onclick="archiveMove(\''.$mulmov.'\'); return false;">Move to Quotes</a>';
而我需要的是在如下的 switch case 中执行这个变量:
switch ($_POST['dropdown']) {
case "Select Folder":
echo "Please select";
break;
case "One":
exec($test3); <-- //here i want to run (if this is not execute, my misunderstanding) the link.
break;
case "Two":
header('Location: http://www.facebook.com/'); <-- //this is just a test
break;
default:
echo "<br></br>";
echo "Move multiple files:";
echo "<br></br>";
}
?>
<form method="post" name="theform" action="">
<select name="dropdown">
<option value="Move to Folder">Select</option>
<option value="One">One</option>
<option value="Two">Two</option>
</select>
<input type="submit" value="Move"/>
</form>
我想知道如何在用户不点击的情况下执行 ahref 链接,但只需将此链接设置为案例,当用户提交表单时,所选案例将操作超链接。
任何帮助表示赞赏。
更多细节
我知道 javascript 和 php 都是不同的语言,更好的选择是使用 Ajax,但我对 Ajax 的理解有限。
为了更好地解释它,这就是全部发生的事情:
1)我有一个邮箱,里面有一些邮件。
2) 您可以检查这些邮件,然后单击“已选择垃圾箱”链接删除所选邮件。这是链接:
<a href="#" onclick="deleteInbox(\''.$muldel.'\'); return false;">Trash Selected</a>
javascript 函数对所有选定消息执行 $muldel 中的 php 函数并更新数据库。
这是有问题的javascript函数:
function inboxDelete(url) {
document.messages.action = url;
document.messages.submit();
}
archiveMove() 是完全一样的,只是为了让事情清楚而临时复制。
3) 我现在重新使用 ahref 代码来执行相同的过程,但这次是将选定的邮件移动到文件夹中。
4)可以从下拉框中选择这些文件夹 - 这是表单的来源。
5) 所以虽然我可以通过添加这样的链接来让它工作:
$test3 = '<a href="#" onclick="archiveMove(\''.$mulmov.'\'); return false;">Move to Quotes</a>';
echo $test3;
6) 我现在需要它以相同的方式工作,但链接正在更改,具体取决于选择的文件夹。
这就是我的问题的全部范围,我希望这更清楚。
我知道您可以使用 GET 或 POST 将变量发送到 javscript,然后完全通过 javascript 执行该功能。我尝试了以下类似的方法,但无济于事:
<form method=post name="myform" action="<?php echo $PHP_SELF;?>">
<input type="hidden" name="formVar" value="">
<input type="text" value="Enter Text Here" name="myText">
<input type="text" value="Enter Text Here" name="myText2">
<input type="submit" value="Send form!" onClick="readmove()">
</form>
<?php
// Retrieve the hidden form variable (using PHP).
$myvar = $_POST['formVar'];
if ($myvar == "$mulmov"){
echo $mulmov;
}
?>
<script language="JavaScript">
<!--
function setText(){
document.myform.myText.value = document.myform.myText.value.toUpperCase();
}
function readmove(){
document.myform.myText.value = "<?php echo $myvar; ?>" ;
readmove2();
}
function readmove2(){
if (document.myform.myText.value == "$mulmov"){
document.myform.myText2.value = "<?php echo $mulmov; ?>" ;
<?php exec ('archiveMove(\''.$mulmov.'\'); return false;'); ?>
} else if (document.myform.myText.value == "$mulmov2"){
document.myform.myText2.value = "<?php echo $mulmov2; ?>" ;
}
}
</script>
【问题讨论】:
-
“执行一个 URL”?你真的需要弄清楚(然后告诉我们)你的意思是什么。
-
很难弄清楚你想在这里做什么。您知道客户端 Javascript、服务器端 PHP 以及“执行”的确切含义...?
标签: php location exec href switch-statement