将javascript函数传递给.php脚本


pass javascript function to .php script

我有一个HTML脚本,里面有一个JavaScript函数和变量。我想把这个函数传递给一个.php脚本,然后调用.php脚本中的函数。我已经有了一个HTML form,它将其他几个值传递给.php脚本,所以这可能是传递它的最简单方法,我只是不知道如何传递。

该函数向HTML页面上显示的变量添加1,唯一的问题是,当我调用.php脚本时,它加载了一个新页面,当我返回到带有该变量的页面时,什么都没有发生,我不确定,但我相信这是因为变量没有保存吗?

HTML:

<div class="curVariable">
    Nubmer is: $<span id="curVariable"></span>
</div>
<script type="text/javascript"> 
    //var curVariable= document.getElementById('curVariable').value;
    var curVariable= 1;
    document.getElementById("curVariable").innerHTML = curVariable;
    document.getElementByID("curVariable").value = curVariable;
    function addOne() {
        curVariable= curVariable+ 1 ;
        document.getElementById("curVariable").innerHTML = curVariable;
    }
</script>
<form id="payment-form" action="chargeCard.php" method="POST" name="payment-form">
    <input onkeypress="return isNumberKey(event)" type="text" name="amount" id="amount" />
    <input type="image"  src="CusButton1.png" id="customButton" value="pay" alt="button"/>
</form>
<script type="text/javascript">
    function isNumberKey(evt)
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
        return true;
    }
</script>

PHP:

<?php
    echo '<script type="text/javascript"> addOne(); </script>';
?>

如果您想提交数字,可以在表单字段中提交,然后重新构建页面。HTML的本质是无状态的,所以除了表单中的数据外,什么都不保存

我认为您可能想要做的是使用AJAX与PHP脚本交互,而无需提交页面。我还没有测试过代码,但类似于;

$(function(){
    $('#customButton').click(function(e){
        $.get('chargeCard.php','currAmt=' + $('#amount').val,processChange);
        e.preventDefault(); //stop form from being submitted
    }); //end click
}); //end ready
function processChange(result) {
    //process the data returned from the call
}

在chargeCard.php脚本中,您可以操作提交的currAmdt查询字符串值,然后返回新代码、值或其他内容,并在JavaScript processChange函数中进行处理。(result)参数包含您返回的内容。