0

老实说,我做了所有可能的搜索,看了很多教程,但仍然无法使其工作。错误在javascript和php之间的某个地方。奇怪的是,如果我在页面重新加载过程中单击提交按钮,则连接成功并且脚本可以工作。

请帮忙。

我从 php require-once 调用两个变量 $l1 和 $l2 ,它们在页面上做了一些工作,然后我在 Java 脚本中使用它们发送到 PHPfile onclick of submit button;

按钮:

<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'];...
4

2 回答 2

0

我想您是直接计算这些,还是从 $_SESSION 变量计算?当您在已完成的页面上查看源代码时,检查变量是否存在,可能就在您在 php.ini 中分配变量之后。

<?PHP
    if (isset($l1) && !empty($l1)) {
        echo "L1 is $l1";
    } else {
        echo "L1 wasnt set"; 
    } 
?>

然后确保值最高匹配您在 javascript 中看到的

于 2013-04-23T10:58:20.243 回答
0

尝试这个:

var wn = document.getElementById("wn").value;
var ls =  document.getElementById("ls").value;
于 2013-04-23T10:47:49.383 回答