-3

可能重复:
如何将 JS 变量传递给 php?
将javascript变量传递给php?

如何从javascript函数传递值,我有这种代码

function next(c,q){
    var y=Number(q);
    var x=Number(c)+1;
    var texta=document.getElementById('myText');
    var content=document.getElementById('woo'+x);
    var page=document.getElementById('paged');
    var thik=document.getElementById('lengthik');

    texta.value=content.value;
    page.value=x;
    thik.value=y;

    var z=100/y;

    //update progress bar
    $("#progressbar").progressbar("option", "value", $("#progressbar").progressbar("option", "value") + z);

    if($("#progressbar").progressbar("option", "value") < 100){
        $("#amount").text($("#progressbar").progressbar("option", "value")+"%");
    }
    else{
        $("#amount").text(100+"%");
    } 

}    

我想将 id #progressbar 的新值扔到 php.ini 文件中。这个 id 是动态的,因为它是一个 probresbar

4

3 回答 3

0

试试这个:

$.ajax({
    type: "GET",
    url: "yourphpfile.php",
    data: "texta=" + texta+ "&content=" + content// texta,contentare javascript variables
    success: function(response){
        if(response != '') {
            //success  do something
        } else {
            // error
        }
    }   
}); 
于 2013-01-03T13:42:43.073 回答
0

要在 javascript(在客户端计算机的浏览器上运行)和 PHP(在您的服务器上运行)之间进行通信,您需要使用 ajax。由于您已经在使用 jQuery,我建议使用他们的抽象方法$.ajax()。它看起来像这样:

// post value of #progressbar id to my php page
$.ajax({
    url: myPHPPage.php,
    data: JSON.stringify({ progressbarID: '#progressbar' }),
    success: function (dataFromServer) {
        alert('it worked!');
    },
    error: function (jqXHR) {
        alert('something went horribly wrong!');
    }
});
于 2013-01-03T13:45:16.397 回答
0

所以你有两个选择。Javascript 只能通过 ajax 将变量传递给 PHP。这是因为 javascript 在客户端浏览器上运行,而 PHP 在服务器上运行。

选项 1 - 使用 Ajax。Javascript:

//update progress bar
$.ajax({
   type: "POST",
   url: "some.php",
   data: { num: y } //or use q instead of y. its what you passed in
}).done(function(data) {
   $('#amount').text(data);
});

这是php文件

<?php 
//some.php
$complete = $_POST['num'];
$progress = $complete / $total; //you'll have to set what "total" is.

$progress .= '%';

echo $progress;
?>

选项 2 - 在页面加载时使用 PHP,然后使用 javascript 更新进度条。这就像同时使用 PHP 和 Javascript,但从技术上讲,您是在使用 PHP 生成 javascript 代码。

function next(c,q){
var y=Number(q);
var x=Number(c)+1;

var complete = (c / <?php echo $total;?>);

//update progress bar
//not sure how your progress bar library works.
//but maybe like this:
$("#progressbar").progressbar({"value" : complete}); 
}
于 2013-01-03T14:06:57.667 回答