如何从javascript函数传递值?

时间:2013-01-03 13:33:55

标签: javascript function progress-bar

  

可能重复:
  How to pass JS variable to php?
  Passing javascript variables to 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中。这个id是动态的,因为它是一个记录栏

3 个答案:

答案 0 :(得分: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
        }
    }   
}); 

答案 1 :(得分: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!');
    }
});

答案 2 :(得分: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}); 
}