我诚实地做了所有可能的搜索,看了很多教程,但仍然无法使它工作。错误是javascript和php之间的联系。奇怪的是,当页面处于重新加载过程中时,如果我单击“提交”按钮,则连接成功并且脚本可以正常工作。
请帮助。
我从php require-once中调用了两个变量$ l1和$ l2,它们在页面上做了一些工作,然后我在Java脚本中使用它们发送到PHPfile onclick的提交按钮;
按钮:
<input class ="button vote" type = "submit" onClick= "javascript: somefunction();" value = "do it" />
功能:
function somefunction(){
var hr = new XMLHttpRequest();
var url = "index.php";
var wn = "<?php echo $l1 ?>";
var ls = "<?php echo $l2 ?>";
var vars = "wn="+wn+"&ls="+ls;
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("status").innerHTML = return_data;
}
}
hr.send(vars); // execute the request
document.getElementById("status").innerHTML = "processing...";
}
php接受器在同一页面上:
<?php if (isset ($_POST ["wn"])){
$wnn = $_POST['wn'];
$lss = $_POST['ls'];...
答案 0 :(得分:0)
试试这个:
var wn = document.getElementById("wn").value;
var ls = document.getElementById("ls").value;
答案 1 :(得分:0)
我认为你可以直接计算这些,也可以从$ _SESSION变量计算?当你在完成的页面上查看源代码时,检查变量是否存在,也许就在你在php中分配变量之后。
<?PHP
if (isset($l1) && !empty($l1)) {
echo "L1 is $l1";
} else {
echo "L1 wasnt set";
}
?>
然后确保最高值与您在javascript中看到的值匹配