当前分配了创建网站的任务,该网站使用python可视化网络。这样,单击按钮后,python脚本将运行用户设置的特定参数。为了避免巨大的负载请求,我们只希望用户单击一次按钮,而不能多次运行脚本。我们想到的是先单击一次按钮,然后在一个请求之后变为禁用状态(直到他们刷新页面,尽管我知道他们可以再次运行它,但是一旦到达那里,我们将讨论该问题。 )。我们目前还使用锚标记使用PHP来调用python脚本。我相信,由于我们使用的是定位标记,因此我们可能必须更改定位标记的href属性,以便它不会多次运行python脚本,即使按钮可单击也无济于事。
我们尝试使用JavaScript函数:
let toggleVisual = false;
let hideVisual = function() {
let visual = document.getElementsById('visual');
if (toggleVisual = false) {
visual.disabled = true;
toggleVisual = true;
}
}
更多JavaScript:
document.getElementById('form-button').onclick = function () {
this.disabled = true;
}
甚至是一些HTML:
<a href="?run=true" onclick="return false;"><button id="form-button" class="visualize-btn">Visualize</button></a>
调用python脚本的PHP代码:
<?php
if (isset($_GET["run"])) {
$output = shell_exec('sh test.sh');
echo "<pre>$output</pre> works";
}
?>
我希望当我单击按钮来运行脚本时,该按钮(或定位标记)将被禁用,以确保python脚本不会多次运行。
答案 0 :(得分:0)
欢迎使用StackOverflow!您已经快结束了。查看onclick()事件,您可能会喜欢。根据您的第一次尝试,一个简单的代码将类似于:
<button id="form-button" class="visualize-btn" onclick="doSomething();">Visualize</button>
<script type="text/javascript">
var wasClicked = false;
function doSomething() {
if(wasClicked) { return; }
wasClicked = true;
// Your code here
alert('Hello world!');
}
</script>
祝您网站运气好!