我需要让下面的代码停止直接执行代码而不点击按钮。我希望函数在单击按钮时运行。谢谢你的帮助
<html>
<head>
<script language="javascript" type="text/JavaScript">
{
function popup() {
<?php echo shell_exec('sh bash_test.sh') ?>;
}
}
</script>
</head>
<body>
<input type="button" onclick="popup()" value="popup">
</body>
</html>
答案 0 :(得分:2)
执行此操作的唯一方法是制作表单或更改网址,例如window.location
并检查变量。你不能像这样混合Javascript和PHP
script.php
:
<html>
<head>
<script language="javascript" type="text/javascript">
function popup(){
window.location = 'script.php?run=shell';
}
</script>
</head>
<body>
<input type="button" onclick="popup()" value="popup">
<?php
if(isset($_GET['run']) && ($_GET['run'] == 'shell')){
echo shell_exec('sh bash_test.sh');
}
?>
</body>
</html>
答案 1 :(得分:0)
你的HTML无效。您的</script>
代码应位于</head>
代码
如果你真的只想在按下按钮时执行它,那么你应该考虑使用ajax或使用<form>
答案 2 :(得分:0)
alert('<?php echo shell_exec('sh bash_test.sh') ; ?>');
答案 3 :(得分:0)
您可以使用ajax-request执行此操作,例如,使用jquery:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script language="javascript" type="text/JavaScript">
{
function popup() {
$.post('someScript.php');
}
}
</script>
</head>
<body>
<input type="button" onclick="popup()" value="popup">
</body>
</html>
在“someScript.php”中你可以输入命令
shell_exec('sh bash_test.sh');