将javascript函数传递给.php脚本

时间:2015-03-29 15:49:09

标签: javascript php html function send

我有一个内置JavaScript函数和变量的HTML脚本。我想将此函数传递给.php脚本,然后在.php脚本中调用该函数。我已经有一个HTML form,它将一些其他值传递给.php脚本,因此它可能是传递它的最简单方法我只是不知道如何。

该函数将1添加到HTML页面上显示的变量,唯一的问题是,当我调用.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>';
?>

1 个答案:

答案 0 :(得分:0)

如果要提交号码,可以在表单字段中执行此操作,然后重新构建页面。 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脚本中,您可以操作已提交的currAmt查询字符串值,然后返回新的代码,值或其他内容,并在JavaScript processChange函数中处理它。 (result)参数包含您返回的内容。