我正在开发一个简单的Web应用程序。我有一个存储值的MySQL数据库。当我加载我的网站时,我想运行一个php脚本,从DB中检索所述值并将其传递给javascript。然后我使用javascript来禁用按钮。
在我的index.html中:
<form action="someOtherScript.php" method="get">
<input type="submit" name="button1" value="Run me now!">
</form>
<script>
var value = "<?php echo $someVar; ?>";
if(value == 0){
document.getElementsByName("button1")[0].disabled = true;
}
</script>
在我的getValueFromDB.php中:
<?php
<!-- retrieve value from DB here (This part is not the problem)-->
$someVar = 0;
?>
如何在index.html中告诉我的javascript使用哪个php脚本(我有多个)?因此,当网站加载时,我希望我的javascript从getValueFromDB.php脚本中获取结果。
非常感谢!
答案 0 :(得分:1)
您可以在页面加载时使用ajax进行尝试
$( document ).ready(function() {
$.ajax({
url: "yourphpfile.php",
success: function(response){
if(result == 0)
{
document.getElementsByName("button1")[0].disabled = true; // instead of this maybe its better to use jquery - example below
$('#button1').prop( "disabled", true );
}
}
});
});
答案 1 :(得分:1)
尝试使用<?php include 'filepath' ; ?>
包含阅读文档here,我认为这就是您需要的
<form action="someOtherScript.php" method="get">
<input type="submit" name="button1" value="Run me now!">
</form>
<script>
<?php include 'getValueFromDB.php' ; ?>
var value = "<?php echo $someVar; ?>";
if(value == 0){
document.getElementsByName("button1")[0].disabled = true;
}
</script>
你不能告诉javascript如何使用PHP,因为JS是一种客户端语言和一种PHP服务器语言,工作流程首先是PHP和第二种JS,反之亦然。
如果您需要使用JS获取php数据,则需要使用AJAX
嗯(这是一个例子,没有经过测试)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="someOtherScript.php" method="get">
<input type="submit" name="button1" value="Run me now!">
</form>
<script>
$.ajax({
url: "getValueFromDB.php",
success: function(result){
if(result == 0){
document.getElementsByName("button1")[0].disabled = true;
}
}});
</script>
PHP
<?php
<!-- retrieve value from DB here (This part is not the problem)-->
$someVar = 0;
echo $someVar
?>
答案 2 :(得分:0)
您通常会让您的php脚本回显您想要获取的值,并从您的javascript中执行ajax调用以获取值,因此
PHP:
<?php
<!-- retrieve value from DB here (This part is not the problem)-->
$someVar = 0;
echo $someVar;
?>
和js(你可以直接把它放在html中)。
<script>
var dbData;
var ajax = new XMLHttpRequest();
ajax.open("GET", "PATH_TO_PHP_SCRIPT/getValueFromDB.php", true);
ajax.send();
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
var data = ajax.responseText;
dbData=data;
//Deal with the response
}
</script>
或者,使用jQuery:
<script>
var dbData;
$.ajax({
url: "PATH_TO_YOUR_PHP_SCRIPT/getValueFromDB.php",
method: "GET"
}).done(function(d) {
dbData=d;
//Deal with the response
});
</script>